某网站内容获取

news/2024/5/20 15:12:04/文章来源:https://blog.csdn.net/qq_44638724/article/details/121137143

准备工作

import re  #正则表达式
import requests  #获取页面信息
import pandas as pd  #数据处理
import time  

页面分析

直接get无法获得任何信息, 我们采取另一种思路:

来到network, 查看ajax请求, 同时下拉搜索内容
在这里插入图片描述
可以看到, 当不断下拉刷新内容时, 产生了形如https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3D%E6%96%B0%E7%96%86%E6%97%85%E6%B8%B8&page_type=searchall&page=5的xhr文件, 且在当我们想要浏览新的内容时才会发送这个请求, 那么我们是否需要先手动下滑页面再请求xhr文件?答案是否定的, 因为经常做爬虫的人就会发现上述url有一个显著的特征: page=5. 因此我们只需求改page中的数字即可.
实际上, 我们也可以先访问这个url, 观察是否存在着我们需要的内容.
在这里插入图片描述
显然这是js代码, 且非常混乱, 我们可以通过这个网站将js代码格式化(在线js格式化).
在这里插入图片描述
将js内容复制到该网站并点击格式化校验Unicode转中文, 就可以得到格式化的js代码
在这里插入图片描述
可以看到, 诸如此类的内容就表达了一位用户的id、内容(text)、内容长度(textLength)等等.

Code

  • 完整代码
import re
import requests
import pandas as pd
import time#headers中一定要带入自己的cookie和user-agent否则会403
headers = {
'User-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
'Cookie' : 'SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9W5Mjupe16Kiyb7vm281Dcv85NHD95QfSo.Neo2peKn0Ws4DqcjiKgLu9-DadJH0; SUB=_2A25MhkCXDeRhGeNI4lUT8S_Nwz-IHXVviWDfrDV6PUJbktCOLRDFkW1NS--oPUYVkqHq8aiZOlUnWJs3Mwsd7vcO; SSOLoginState=1635922120; WEIBOCN_FROM=1110006030; MLOGIN=1; BAIDU_SSP_lcr=http://localhost:8888/; _T_WM=25310073472; XSRF-TOKEN=ccf606; M_WEIBOCN_PARAMS=oid%3D4698870880408410%26luicode%3D10000011%26lfid%3D231522type%253D1%2526t%253D10%2526q%253D%2523%25E6%2596%25B0%25E7%2596%2586%25E6%2597%2585%25E6%25B8%25B8%2523',
'_xsrf' : 'ccf606'}
main = "https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23%E6%96%B0%E7%96%86%E6%97%85%E6%B8%B8%23&isnewpage=1&luicode=10000011&lfid=100103type%3D1%26q%3D%E6%96%B0%E7%96%86%E6%97%85%E6%B8%B8&page_type=searchall&page="
number = []
url = []
n = 10
for i in range(1, n):url.append(main + str(i))count = 0
code = []
URL = []
NEW = []
for Url in url:res = requests.get(Url, headers=headers)count += 1print("第{0}次请求, 页面状态码:{1}".format(count, res.status_code)) print("地址:{0}".format(Url))code.append(res.status_code)URL.append(Url)for i in range(20):try:string = res.json()["data"]['cards'][i]["mblog"]["text"]   #正文内容被保存在以下标签中          #通过正则表达式提取str中的中文pre = re.compile(u'[\u4e00-\u9fa5-\,\。]')   #设定提取中文、标点符号的规则res = re.findall(pre, string)  #按上述规则进行查找res1=''.join(res)  res1.split("-")  #查询结果会带有--, 因此将其分割开newlist = [i for i in res1.split("-") if i != ''] #分割后的列表存在空值, 去除列表中的空值NEW.append(newlist)print(newlist)except:passtime.sleep(1.5)  #加入休眠, 实践证明, 小于1.5s的休眠在100次爬取时就会403.
data = {"code":code, "URL":URL, "content": NEW}  #将爬取结果存为字典以便导出
pd = pd.DataFrame(data)
pd.to_excel("D://Desktop//weibo.xlsx") #将结果保存为excel表格, 因为带有中文csv格式通常中文会乱码
  • 爬取结果
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_813513.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某房屋中介网站爬虫实例

url: https://hangzhou.anjuke.com/community/ 相比较房天下, 只需要在请求头中加入cookie即可(不带cookie会被封ip) 直接上代码: from bs4 import BeautifulSoup import requests import re import pandas as pd import time #需要杭州: 区域,地址&…

5个值得推荐的英语学习网站及1个英语学习App

1、练习听力 美国国家公共广播电台NPR:http://www.npr.org/特点:标准美式英语。 建议:每天花三十分钟左右,反复听英语广播,这是听力过关的必经之路。点击网页中左边“BROWSE TOPICS”下面的“News”选项。选择自己有…

Java开发必知道的国外10大网站

1、https://www.google.com/ 不解释 2、https://stackoverflow.com 里面包含各种开发遇到的问题及答案,质量比较高。 3、https://github.com/ 免费的开源代码托管网站,包括了许多开源的项目及示例项目等。 4、https://dzone.com/ 提供技术新闻、编程教…

自己刚写的php的api 如何访问_网站被攻击了!我是如何数据分析来排查的!

背景事故: 给小白练习SQL的网站瘫痪了时间: 20190811 凌晨1点开始,持续90分钟原因: 被一位来自深圳的"朋友"攻击这篇文章带个你什么如何判断异常如何在数据上定位异常真的是活生生的案例,虽然我完全不希望这种案例再次发生关于我这个SQL学习网…

无法从该网站添加应用_一张图告诉你,为什么近期所有网站应用都无法安装且签名...

最近果子后台收到的最多的消息就是 果子,果子,为啥网站应用下载失败呀,为啥网站的app不更新证书啦。 为什么越狱工具都出来了,却迟迟没有网站更新在线下载呀。 iOS13.5已经修复了曾经最火的“断网下载法”来使用企业应用。 今天给…

第四课 建站准备—配置文件修改

第四课 建站准备—配置文件修改时间:2011-06-18 23:51来源:未知 作者:admin点击: 103 次这一节课,我们来给大家说一下织梦CMS配置文件的修改。为什么要修改呢?我们先来看一个例子。 首先进入后台,发布一篇文章,标题就为“百通建站…

JS代码优化技巧之通俗版 分类: SEO推广

JS代码优化技巧之通俗版 分类: SEO推广 | 评论: 276 | 浏览:20421 分享到:36如果你问我网站中最影响网站打开速度的是什么?我会告诉是网站中的javascript,简称JS。模板中引用的JS文件越多,打开速度越慢,这点我深有体会&#x…

apache主机头设置-一台服务器支持多个网站,多个域名 ... [复制链接]

如何在一台服务器上运行多个网站,并对应不同的网址呢?这个问题一直没有解决,在网上找了很多次,很简单,但每次试验都没有成功.直到遇到下面的介绍:当apache在读取httpd.conf过程中遇到NameVirtuaHost指令时&…

linux内核break信号,信号处理 - Linux内核中的信号机制_Linux编程_Linux公社-Linux系统门户网站...

当进程被调度时,会调用do_notify_resume()来处理信号队列中的信号。信号处理主要就是调用sighand_struct结构中对应的信号处理函数。do_notify_resume()(arch/arm/kernel/signal.c)函数的定义如下:asmlinkage voiddo_notify_resume(struct pt_regs *regs…

网站服务器web空间文件删除不了怎么办

网站服务器web空间文件删除不了怎么办 网站web空间用了有一年多了,近期想重装下网站,所以就把原来的web空间文件全删除了,后来发现其中有一个文件怎么删除都删除不了?如何解决web空间删除不了的文件吗?满意答案haowz 来…

织梦Dedecms网站安全优化之重定义目录

http://www.111cn.net/wy/Dedecms/56615.htm织梦Dedecms网站安全优化之重定义目录www.111cn.net 编辑:Space 来源:转载dedecms的中的目录都是固定好了这样很容易给黑客来获取相关信息了,下面我们来看看织梦Dedecms网站安全优化之重定义目录方法,希望文章…

黑客如何快速查找网站后台地址方法整理

黑客如何快速查找网站后台地址方法整理来源:本站整理 作者:小残搏客 时间:2014-06-15 TAG: 我要投稿小结一些方法..写了有遗漏之处请路过的各位指出来..想必许多黑客在入侵网站的时候总是为了有用户密码找不到后台而烦恼吧&#x…

21个为您的网站和博客提供的免费视频播放器

<object id"video1" classid"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width"320" height"240" border"0"><br />  <br />  <param name"ShowDisplay" value"0"><…

黑客如何快速查找网站后台地址方法整理

黑客如何快速查找网站后台地址方法整理来源&#xff1a;本站整理 作者&#xff1a;小残搏客 时间&#xff1a;2014-06-15 TAG&#xff1a; 我要投稿小结一些方法..写了有遗漏之处请路过的各位指出来..想必许多黑客在入侵网站的时候总是为了有用户密码找不到后台而烦恼吧&#x…

windows2008操作系统网站发布后,为什么外网仍旧无法访问2011-08-05 10:19

windows2008操作系统网站发布后&#xff0c;为什么外网仍旧无法访问2011-08-05 10:19 现象我们网站使用VSB网站群管理平台&#xff0c;网站已经实施完成且执行发布成功。网站域名解析成功&#xff0c;通过ping能够得到正确的解析地址。但是通过域名访问发布后的网站&#xff0c…

PHP如何给网站开启压缩输出增强网站访问速度

分享两种压缩页面输出数据以提高网页访问速度的方法&#xff0c;一种是通过使用php zlib扩展实现页面gzip压缩输出&#xff08;使用php的内置函数ob_gzhandler进行gzip压缩输出&#xff09;&#xff0c;另外一种方法是是通过修改php.ini配置文件开启php gzip以实现压缩页面信息…

阿里云Windows2008外网无法访问开启80端口实现外网访问网站

在Windows 2008使用WAMP建立能够运行PHP网站的环境&#xff0c;在本地测试可以访问网站&#xff0c;但是内网和外网均无法访问网站&#xff0c;通过关闭防火墙测试得知是防火墙屏蔽80端口&#xff0c;需要在防火墙中允许外网对80端口的访问&#xff0c;当然关闭防火墙可以一劳永…

网站被百度停止推广并提示网站存在安全风险,不宜推广的处理方案

春节刚过完&#xff0c;上班的第一天&#xff0c;公司网站被百度停止推广了&#xff0c;百度推广提示&#xff1a;您的url被百度杀毒提示存在网址安全风险&#xff0c;故物料不宜推广&#xff1b;若有异议&#xff0c;请进入百度杀毒申诉通道申诉。第一时间联系了当地百度公司客…

网站被劫持到其它网站如何解决

前段时间网站被黑了&#xff0c;从百度打开网站直接被劫持跳转到了cai票&#xff0c;du博网站上去&#xff0c;网站的首页index.html文件也被篡改成一些什么北京sai车&#xff0c;pk10&#xff0c;一些cai票的关键词内容&#xff0c;搞得网站根本无法正常浏览&#xff0c;从百度…

WordPress网站漏洞利用及漏洞修复解决方案

2019年正月刚开始&#xff0c;WordPress最新版本存在远程代码注入获取SHELL漏洞&#xff0c;该网站漏洞影响的版本是wordpress5.0.0&#xff0c;漏洞的产生是因为image模块导致的&#xff0c;因为代码里可以进行获取目录权限&#xff0c;以及文件包含功能&#xff0c;导致远程代…