当前位置:首页 » 编程语言 » 发微博python

发微博python

发布时间: 2025-03-19 07:44:19

python爬取和分析新浪微博(一):scrapy构建新浪微博榜单、博主及微博信息爬虫

爬虫项目介绍

本项目基于Python的Scrapy框架,采用随机用户代理和IP代理等反爬技巧,将收集到的微博领域数据、各领域榜单博主信息和博主的微博信息分别存入MySQL数据库的相应表格。

查看完整代码请访问GitHub:

爬虫逻辑

2.1 获取微博领域信息

首先,爬取V影响力榜上所有微博领域名称及其对应的各领域微博榜单链接。

2.2 获取各领域榜单博主信息

进入各领域排行榜页面(如互联网榜),抓取4月月榜排名前100的博主信息。

分析网页得知,博主信息通过单独请求json文件获取。

请求的URL地址为:v6.bang.weibo.com/aj/we...

URL中__rnd字段的值由请求时间戳生成。

使用POST请求,并在表单中包含type、date、domainId等字段。

编写请求代码如下:

2.3 获得博主个人主页和发表微博信息

收集每个博主的昵称、ID、粉丝数、关注数、微博数、性别、地址等信息后,进入博主的微博主页,抓取最近60条微博信息(包括内容、发表日期、转发/点赞/评论数等)。

请求博主主页URL时需携带固定的cookie信息。

博主微博主页分析发现,发表的微博内容通过单独请求json文件获取。

json文件的URL很长,包含domain、pl_name、page_id、script_uri等字段。

请求方式为GET。

请求json文件后,将data值转化为Scrapy的Selector子类,使用CSS或XPath选择器获取所需信息。

爬虫代理设置

为了对抗微博的反爬策略,本项目使用随机更换User-Agent和IP地址的方法。

3.1 随机User-Agent

编写RandomUserAgentMiddleware中间件,使用fake-useragent生成UserAgent实例,为每次请求随机生成一个User-Agent。

具体代码在GitHub上。

3.2 随机IP

从蘑菇IP代理购买付费IP,生成API链接,处理返回的JSON文件提取IP信息,保存至MySQL数据库。Scrapy每次请求时从数据库随机获取一个有效IP。

通过变换IP地址发送请求,基本避免了被反爬。

爬取结果

异步保存至MySQL数据库,数据分别存入weibotopic、topicuser、weiboinfo三个表格。

weibotopic(38个领域):

topicuser(3648个用户,有些领域榜单上可能不足100个用户):

weiboinfo(115740条微博)

小结

以上介绍了基于V影响力榜单爬取新浪微博信息的爬虫项目,代码在GitHub上公开,欢迎查看、交流。

后续文章将对收集到的数据进行统计分析和可视化展示,期待进一步的探索。

热点内容
王者荣耀官方服务器地址 发布:2025-09-24 00:47:29 浏览:190
gif在线压缩免费 发布:2025-09-24 00:41:13 浏览:945
tcl脚本if 发布:2025-09-24 00:26:59 浏览:705
苹果手机怎么连个人安卓手机热点 发布:2025-09-24 00:20:46 浏览:132
虚拟专用账号密码在哪里注册 发布:2025-09-23 23:57:20 浏览:179
如何修改魔宝显示屏密码 发布:2025-09-23 23:46:54 浏览:406
服务器网卡双ip地址 发布:2025-09-23 23:41:57 浏览:174
为什么电脑吃鸡连接不上服务器 发布:2025-09-23 23:27:18 浏览:685
吉利帝豪舒适版都有哪些配置 发布:2025-09-23 23:18:57 浏览:311
pythonsystemexit 发布:2025-09-23 23:07:33 浏览:234