楼主: yusb
509 1

[经管数据集] 新浪微博爬虫功能包括爬取用户信息关注粉丝爬取超级话题用户及粉丝相关信息 [推广有奖]

已卖:21049份资源
好评率:99%
商家信誉:一般

巨擘

0%

还不是VIP/贵宾

-

威望
1
论坛币
40750 个
通用积分
2588.9809
学术水平
20 点
热心指数
31 点
信用等级
7 点
经验
5050 点
帖子
20149
精华
0
在线时间
11724 小时
注册时间
2020-12-8
最后登录
2025-12-30

楼主
yusb 在职认证  发表于 2023-11-28 21:54:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
新浪微博爬虫功能包括爬取用户信息关注粉丝爬取超级话题用户及粉丝相关信息新浪微博爬虫,功能包括:爬取用户信息、关注、粉丝,爬取超级话题用户及粉丝相关信息


新浪微博爬虫功能包括爬取用户信息关注粉丝爬取超级话题用户及粉丝相关信息.zip (4.09 MB, 需要: RMB 19 元)


983a52f0d9d19b0a8073a5ff9788c03.png



a813d3bee35c15191512acf55099929.png



# SinaWeiboSpider
新浪微博爬虫,功能包括:爬取用户信息、关注、粉丝,爬取超级话题用户及粉丝相关信息

示例:爬取“创造101”超级话题#聚众赏花#的用户与粉丝信息

## 实现框架及细节

1)  获取微博cookie,模拟登录
在爬取微博网页的时候,需要模拟登录状态,因此需要获取微博登录的cookie。为了防止因访问过于频繁而被封,我注册了八个微博账号,轮流爬取微博网页。由于cookie可能会过期,所以在开始爬取网页前需要先运行redis_cookies.py来获取当时的微博cookie。

2)  初始化任务
在实现过程中,我利用asyncio和redis模块实现了多线程异步IO,其中asyncio是python的多线程模块,而redis则是一个key-value数据库,用于存储网页url和相应的任务名。
针对超级话题用户的爬虫任务,在初始化的时候将指定页数(默认为500页)的网页URL push到Redis中,任务名为topic。
针对超级话题粉丝的爬虫任务,在初始化的时候将指定页数(默认为500页)的网页URL push到Redis中,任务名为superfan。

3)  Kafka和爬虫
在爬虫爬取过程中,利用Redis实现类似栈的push和pop过程,在不同的任务中pop出指定任务名的网页URL,用户信息任务名为user,关注列表任务名为follower,粉丝列表任务名为fan。
在记录爬虫爬取到的内容的过程中,我使用了分布式消息系统Kafka,Kafka的结构图


在解析json文件获取到相应信息后,在weiboasync.py中由producer将数据发至指定topic的broker中,后在consumer.py中由consumer从指定topic的broker中获得相应数据存储成json文件,以供后续数据分析


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:新浪微博 Consumer producer Follower Produce

沙发
sdzy(未真实交易用户) 在职认证  学生认证  发表于 2023-11-29 09:06:40

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-31 01:28