python爬微博数据合法吗_GitHub - ChaliceRunRunRun/weibo-crawler: 新浪微博爬虫,用python爬取新浪微博数据...

功能

连续爬取一个或多个新浪微博用户(如Dear-迪丽热巴、郭碧婷)的数据,并将结果信息写入文件。写入信息几乎包括了用户微博的所有数据,主要有用户信息和微博信息两大类,前者包含用户昵称、关注数、粉丝数、微博数等等;后者包含微博正文、发布时间、发布工具、评论数等等,因为内容太多,这里不再赘述,详细内容见输出部分。具体的写入文件类型如下:

写入csv文件(默认)

写入MySQL数据库(可选)

写入MongoDB数据库(可选)

下载用户微博中的原始图片(可选)

下载用户微博中的视频(可选)

输出

用户信息

用户id:微博用户id,如"1669879400"

用户昵称:微博用户昵称,如"Dear-迪丽热巴"

性别:微博用户性别

微博数:用户的全部微博数(转发微博+原创微博)

粉丝数:用户的粉丝数

关注数:用户关注的微博数量

简介:用户简介

头像url:用户头像url

高清头像url:用户高清头像url

微博等级:用户微博等级

会员等级:微博会员用户等级,普通用户该等级为0

是否认证:用户是否认证,为布尔类型

认证类型:用户认证类型,如个人认证、企业认证、政府认证等

认证信息:为认证用户特有,用户信息栏显示的认证信息

微博信息

微博id:微博的id,为一串数字形式

微博内容:微博正文

原始图片url:原创微博图片和转发微博转发理由中图片的url,若某条微博存在多张图片,每个url以英文逗号分隔,若没有图片则值为''

视频url: 微博中的视频url,若微博中没有视频,则值为''

微博发布位置:位置微博中的发布位置

微博发布时间:微博发布时的时间,精确到天

点赞数:微博被赞的数量

转发数:微博被转发的数量

评论数:微博被评论的数量

微博发布工具:微博的发布工具,如iPhone客户端、HUAWEI Mate 20 Pro等,若没有则值为''

话题:微博话题,即两个#中的内容,若存在多个话题,每个url以英文逗号分隔,若没有则值为''

@用户:微博@的用户,若存在多个@用户,每个url以英文逗号分隔,若没有则值为''

原始微博:为转发微博所特有,是转发微博中那条被转发的微博,存储为字典形式,包含了上述微博信息中的所有内容,如微博id、微博内容等等

结果文件:保存在当前目录weibo文件夹下以用户昵称为名的文件夹里,名字为"user_id.csv"形式

微博图片:原创微博中的图片,保存在以用户昵称为名的文件夹下的img文件夹里

微博视频:原创微博中的视频,保存在以用户昵称为名的文件夹下的video文件夹里

实例

以爬取迪丽热巴的微博为例。她的微博昵称为"Dear-迪丽热巴",id为1669879400,用户id获取方法见如何获取user_id。我们选择爬取她的全部原创微博。具体方法是将weibo.py文件的main函数主要部分修改为如下代码:

# 以下是程序配置信息,可以根据自己需求修改

filter = 1 # 值为0表示爬取全部微博(原创微博+转发微博),值为1表示只爬取原创微博

since_date = '1900-01-01' # 起始时间,即爬取发布日期从该值到现在的微博,形式为yyyy-mm-dd

"""mongodb_write值为0代表不将结果写入MongoDB数据库,1代表写入;若要写入MongoDB数据库,

请先安装MongoDB数据库和pymongo,pymongo安装方法为命令行运行:pip install pymongo"""

mongodb_write = 0

"""mysql_write值为0代表不将结果写入MySQL数据库,1代表写入;若要写入MySQL数据库,

请先安装MySQL数据库和pymysql,pymysql安装方法为命令行运行:pip install pymysql"""

mysql_write = 0

pic_download = 1 # 值为0代表不下载微博原始图片,1代表下载微博原始图片

video_download = 1 # 值为0代表不下载微博视频,1代表下载微博视频

wb = Weibo(filter, since_date, mongodb_write, mysql_write,

pic_download, video_download)

user_id_list = ['1669879400']

wb.start(user_id_list)

代码具体含义注释里都有,不在赘述。设置完成后运行程序:

$ python weibo.py

程序会自动生成一个weibo文件夹,我们以后爬取的所有微博都被存储在weibo文件夹里。然后程序在该文件夹下生成一个名为"Dear-迪丽热巴"的文件夹,迪丽热巴的所有微博爬取结果都在这里。"Dear-迪丽热巴"文件夹里包含一个csv文件、一个img文件夹和一个video文件夹,img文件夹用来存储下载到的图片,video文件夹用来存储下载到的视频。如果你设置了保存数据库功能,这些信息也会保存在数据库里,数据库设置见设置数据库部分。

csv文件结果如下所示:

68747470733a2f2f706963747572652e636f676e697a652e6d652f636f676e697a652f6769746875622f776569626f2d637261776c65722f776569626f5f6373762e706e671669879400.csv

本csv文件是爬取“全部微博”(原创微博+转发微博)的结果文件。因为迪丽热巴很多微博本身都没有图片、发布工具、位置、话题和&

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值