python爬虫实战——微博点赞列表

   日期:2024-12-25    作者:mal20121212 移动:http://oml01z.riyuangf.com/mobile/quote/20082.html

python爬虫实战——微博点赞列表


有的数据明明在浏览器里可以看到,但使用 库请求网页,却无法获得。

这种情况常见于滚动加载的页面

以 微博点赞列表 为例,尝试直接请求该网页

 

输出的内容中,并未包含点赞用户。

页面结构里没有的数据,却出现在了浏览器显示中,因此想要正确地获取这些数据数据,就要先明白 数据是如何进入页面的


一般这类需要动态加载的数据,都是通过json文件发送到你的电脑上

在谷歌浏览器中,进入检查模式(右键 - 检查,选择网络(Network)栏目,然后刷新网页,可以看到网络栏目中出现了很多条目

按照 排序,其中类型为 的就是json文件。

尝试滚动页面,并观察类型为 文件的变化,可以看出,下图中的文件在逐渐增多

因此,我们大胆猜测,{% emp 每次滚动页面时,新增的点赞数据都在这里面 %}。

为了验证这一猜想,我们随便选择一个文件,鼠标左键单击,查看它的信息

可以看出,它是由 请求得到的,网址为

 

我们直接访问这一网址,看看其中的内容

可以看出,点赞用户的数据确实出现在其中。

因此,我们只要 直接使用库的方式请求这一网址,即可获得我们想要的点赞用户数据

 

至此,我们成功请求到了json文件,将其储存在电脑上。

 

json 文件可以理解为 字典和列表的嵌套,因此想要提取其中的数据,需要先借助大括号和方括号的位置,分析字典和列表的嵌套关系

  • 表示里面的内容是一个字典,使用访问字典数据的方式提取其中的数据,如 key-value 方法
  • 表示里面的内容是一个列表,使用访问列表数据的方式提取其中的数据,如索引方法

以我们刚刚获取的 json 文件为例

 

因此,如果我们想提取所有用户的 和 这两个字段,需要

 

*附:verified_type 的含义

verified_type含义verified_type含义-1普通用户6应用0名人7团体、机构1政府8待审企业2企业200初级达人3媒体220高级达人4校园400已故 V 用户5网站

其中, 为黄 v,其他为蓝 v。


在爬取数据之前,我们先在浏览器里 手动查看一下,可以发现最多只能查看 50 个 json 文件,这些文件的链接存在规律

 

接下来,我们遍历地请求这些网站,并获取每个用户的 和

 

实际数据采集过程中,可能会遇到一些问题,如页面请求失败、json 文件中没有对应路径、当前博文点赞数量较少(不到 page=50 就结束了)等,因此需要对代码做出优化如下

 

以上就是通过请求 json 文件获取数据的基本方法。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号