Skip to content

Latest commit

 

History

History
82 lines (45 loc) · 3.12 KB

README-cn.md

File metadata and controls

82 lines (45 loc) · 3.12 KB

新浪微博爬虫

image image image image

English Version | 中文版

基于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

使用方法

用户设置

  1. 设置session的S_DATAS_HEADER以模拟新浪微博用户登录(详细信息参见注释)。

  2. 设置目标微博用户的USER_URL(详细信息参见注释)。

  3. 设置爬取的总页数PAGE_AMOUNT(详细信息参见注释)。

  4. 设置保存微博数据的路径PATH_FOLDER和文本文件PATH_FILE_TXT

  5. 设置爬取的微博数据类型(IF_IMAGEIF_PHOTOIF_VIDEO1)。

  6. 若需要将实况照片(视频)转换为GIF图片,设置IF_LIVE2GIF = True

  7. 设置爬虫的TIME_DELAY以避免ConnectionError 104: ('Connection aborted.')

  8. 如果出现ConnectionError 104: ('Connection aborted.')

    1. 设置IF_RECONNECT = True重连模式运行爬虫。

    2. 设置TAG_STARTCARD为终止微博的序号(根据日志信息)。

    3. 重新运行run_WeiboCrawler.py以继续爬取微博数据。

    4. 若以正常模式运行爬虫,设置IF_RECONNECT = False

运行

  1. 运行run_WeiboCrawler.py,以爬取目标新浪微博用户的微博数据。

  2. 运行该程序的日志信息参见Log_run_WeiboCrawler.txt

结果

  1. 微博数据将会保存在预设定的文件夹(例如,Demo_WeiboData/)。

  2. 微博文本将会保存于文本文件(例如,Demo_WeiboData/Demo_WeiboPost_Records.txt)。

  3. 图片、实况照片和视频将会保存于子文件夹(例如,1/1_livephoto/1_video/)。


如果您对该项目有任何问题,请报告issue,我将会尽快回复。

如果该项目对您有帮助,请为其加星支持哈,非常感谢。^_^