源码可以连续爬取一个或多个新浪微博用户(如胡歌、迪丽热巴、郭碧婷)的数据,并将结果信息写入文件或数据库。写入信息几乎包括了用户微博的所有数据,主要有用户信息和微博信息两大类,前者包含用户昵称、关注数、粉丝数、微博数等等;后者包含微博正文、发布时间、发布工具、评论数等等,因为内容太多,这里不再赘述,详细内容见输出部分。
0 v6 x* B8 [9 D3 K; d7 z具体的写入文件类型如下:# {* ]) L5 }: `4 {: w/ _
1)写入txt文件(默认)
7 C& O$ m6 |9 G5 N* m- n4 K' Q2)写入csv文件(默认)4 d( a; c$ |4 ~
3)写入json文件(可选)
( W% X$ M0 V. s, \8 a- ~$ u4)写入MySQL数据库(可选)/ e/ D3 m' O3 c9 `: Q0 U# k0 K
5)写入MongoDB数据库(可选)
2 R | ?& w) }( j9 L/ S( d, ~6 ~* H6)下载用户原创微博中的原始图片(可选)
( a U! c* B6 T; E. J7)下载用户转发微博中的原始图片(免cookie版特有)
; c0 p( H6 ^; I8 [; `8)下载用户原创微博中的视频(可选)
}5 P7 V) e9 T' C6 B# j* A% L9)下载用户转发微博中的视频(免cookie版特有)
- O/ p I$ n7 I/ ~% d10)下载用户原创微博Live Photo中的视频(免cookie版特有)
, Z" @0 L/ E* ?7 {11)下载用户转发微博Live Photo中的视频(免cookie版特有)+ d3 A8 @" Q: x% ]5 Y" {
本程序分为设置用户cookie和免cookie两个版本,二者功能类似,免cookie版获取的信息更多,用法更简单,而且不需要cookie。下面以需要设置用户cookie的版本来介绍使用方法,免cookie版使用方法除了第1项,其他基本相同。
2 F+ s5 I- L9 ^; b( q1 ?; U: H/ r1、打开 https://m.weibo.cn/ 登录你的微博账号获取headers的 cookie ,依此点击Chrome开发者工具中的Network->Name中的weibo.cn->Headers->Request Headers,"Cookie:"后的值即为我们要找的cookie值,复制即可,如图所示:
2 |2 j. D+ x7 Q! _* I
: \; o2 p) S* j# Y$ i6 m$ C+ p7 |
2、下载代码到本地,修改配置文件config.json,这里说明下,user_id_list填你要分析的微博账号uid,可以填多个,如:"user_id_list": ["1223178222", "1669879400", "1729370543"],。filter为1表示分析原创微博,如果分析所有微博填0即可。since_date为从哪天的微博开始分析,然后就是把上面复制的cookie填到对应位置,免cookie版本不用填。# j k' ], K8 j- d" M; m {( b
{
"user_id_list": ["1669879400"],
"filter": 1,
"since_date": "2018-01-01",
"write_mode": ["csv", "txt"],
"pic_download": 1,
"video_download": 1,
"cookie": "your cookie",
"mysql_config": {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "123456",
"charset": "utf8mb4"
}
} 3、接着执行pip install -r requirements.txt安装以下依赖包,当然你也可以单独安装。
! ?+ `' [7 c) S/ K5 n& |requests==2.22.0- I$ X, N! k# D+ M' l/ O
jieba==0.42.1
; `; Q! g; S5 R/ q& \ ^% bwordcloud==1.6.0+ x, R4 |6 l7 B2 ]& G* K$ S: R7 P
scipy==1.2.1
6 A( y1 s; Z0 z" Vseaborn==0.10.0; Z! P t$ Y7 L! Y, @
pandas; S: f& g7 \" d0 D6 C' ?( `
lxml7 G% [/ J0 O2 @% Q: `: F
tqdm
$ B+ }% X; C9 z. i) W) X4、输入命令$ python weibo.py执行脚本。
4 ?" t7 Z* X, {+ y
( T+ x. z, { z7 Y# u" l: r# @
5、爬取的csv结果文件内容如下,其他文件类型可以在这里就不再截图。
, P. d7 x3 ~! f2 z x% n; S" s' R
2 c; p) o* x9 `2 o" e, { r点击下载cookie版代码 点击下载免cookie版代码
8 F d! Q- C, u8 ~/ ^& L5 U$ z' s4 f
: q7 l1 p8 S( H5 _, q; r% V |