微博爬虫,爬取微博个人账号的原创微博内容
纯属娱乐项目
在项目根目录添加config.py
文件
# -*- coding: utf-8 -*-
config = {
"userId": "userId", # 需要爬取的用户微博ID,注意,一定要是 number 类型
"cookie": {
"Cookie": "cookie" # cookie
},
"background": "resource/background/qb.png" # 生成词云的图片,resource下有几张可选图片
}
请在https://weibo.cn/你的微博id/profile?filter=1&page=1
这里获取cookie
- 执行
weibo.py
爬取原创微博
,并下载图片 - 执行
analysis.py
解析微博内容,并生成图表 - 执行
main.py
生成词云图 - 执行
help.py
爬取个人被赞信息,并生成词云图(19-06-06新增)
或者
# start.sh中并没有添加 help.py 的执行命令
bash start.sh
# ./start.sh
爬取完成后,会在项目根目录生成result
文件夹,以及对于的user_id
文件夹
解析完成后,会在对应的user_id
文件夹下生成:
- 分类
category.txt
- 使用最多的表情
express.txt
- 使用最多的名字
name.txt
- 使用最多的词语
word.txt
- 分类图表
category.html
- 表情图表
express.html
- 常去地点
address.html
- 到http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud下载wordcloud模块所需要的whl文件,根据自己版本下载
cd
到下载的路径下- 执行
pip install wordcloud-1.5.0-cp36-cp36m-win32.whl
(这是我下载的版本,根据自己电脑,下载相应的版本即可)
xcode-select --install
pip3 install wordcloud
中文乱码,是因为使用的字体
不支持中文,只要使用支持中文的字体即可
wordcloud = WordCloud(font_path="simhei.ttf").generate(text)
这里的font_path
就是指定使用的字体文件,simhei.ttf
是黑体,将字体文件复制到项目下即可,不需要重命名,会自动变成英文名的
执行python3 analysis.py
时,报错
Traceback (most recent call last):
File "analysis.py", line 10, in <module>
from pyecharts import Pie, Bar, Geo
ModuleNotFoundError: No module named 'pyecharts'
# 或者
Traceback (most recent call last):
File "analysis.py", line 10, in <module>
from pyecharts import Pie, Bar, Geo
ImportError: cannot import name 'Pie' from 'pyecharts' (/usr/local/lib/python3.7/site-packages/pyecharts/__init__.py)
卸载掉pyecharts
,重新安装即可
pip3 uninstall pyecharts
pip3 install pyecharts==0.5.11
- https://github.com/dingmyu/weibo_analysis.git
- https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
- https://www.cnblogs.com/tina-python/p/5508402.html
./result/my_help
: 赞你的用户./result//my_help.jpg
: 生成的词云图