基于Python实现的从微博移动端爬取目标新浪微博用户的微博数据(文本、图片、实况照片和视频)。该爬虫通过session(用户名和密码)模拟用户登录。
特别鸣谢Python中文社区提供的原始代码SourceCode_weibocrawler.py
。
-
爬取原创和转发微博中的短文本。
-
爬取原创和转发微博中的大(优先)或小JPG/GIF图片。
-
[新!] 爬取原创和转发微博中的实况照片(存为JPG图片、MOV视频和/或GIF图片)。
-
爬取原创和转发微博中的高清(优先)或标清视频。
爬虫程序在Ubuntu 16.04操作系统已测试通过。针对Window和macOS操作系统,文件路径的格式需要进行相应的修改。
- requests 2.21.0
- lxml 4.2.5
- cv2 4.1.0
- imageio 2.4.1
- PIL 5.3.0
-
设置session的
S_DATA
和S_HEADER
以模拟新浪微博用户登录(详细信息参见注释)。 -
设置目标微博用户的
USER_URL
(详细信息参见注释)。 -
设置爬取的总页数
PAGE_AMOUNT
(详细信息参见注释)。 -
设置保存微博数据的路径
PATH_FOLDER
和文本文件PATH_FILE_TXT
。 -
设置爬取的微博数据类型(
IF_IMAGE
、IF_PHOTO
和IF_VIDEO
为1
)。 -
若需要将实况照片(视频)转换为GIF图片,设置
IF_LIVE2GIF = True
。 -
设置爬虫的
TIME_DELAY
以避免ConnectionError 104: ('Connection aborted.')
。 -
如果出现
ConnectionError 104: ('Connection aborted.')
:-
设置
IF_RECONNECT = True
以重连模式运行爬虫。 -
设置
TAG_STARTCARD
为终止微博的序号(根据日志信息)。 -
重新运行
run_WeiboCrawler.py
以继续爬取微博数据。 -
若以正常模式运行爬虫,设置
IF_RECONNECT = False
!
-
-
运行
run_WeiboCrawler.py
,以爬取目标新浪微博用户的微博数据。 -
运行该程序的日志信息参见
Log_run_WeiboCrawler.txt
。
-
微博数据将会保存在预设定的文件夹(例如,
Demo_WeiboData/
)。 -
微博文本将会保存于文本文件(例如,
Demo_WeiboData/Demo_WeiboPost_Records.txt
)。 -
图片、实况照片和视频将会保存于子文件夹(例如,
1/
、1_livephoto/
和1_video/
)。
如果您对该项目有任何问题,请报告issue,我将会尽快回复。
如果该项目对您有帮助,请为其加星支持哈,非常感谢。^_^