[Python] 抓取微博指定博主博文,包含转发博文

最近自学了Python,所以就想把自己学的东西分享出来,写的很初级,如有错误请指正,谢谢 本文仅供学习!!! 从微博中抓取的数据我用了两种方式保存,一种是m

最近自学了Python,所以就想把自己学的东西分享出来,写的很初级,如有错误请指正,谢谢

本文仅供学习!!!

从微博中抓取的数据我用了两种方式保存,一种是mongo,一种是mysql.

项目结构

__init__.py 是配置文件,包括日志配置,mongo配置以及mysql配置

data_grap.log是打印日志的文件

run.py 是运行Python程序的入口

service.py就是程序的主要业务代码

环境以及微博接口

1. 使用Python3以上

2. mysql编码为utf8mb4(抓取的数据有表情)

3. 因为抓取数据,我要模拟浏览器请求接口,所以需要抓取的接口,以及请求头,具体如下

detail_url = 'https://m.weibo.cn/detail/'
host = 'm.weibo.cn'
base_url = 'https://%s/api/container/getIndex?' % host
# 这里的user_agent是网上找的
user_agent = 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, ' \'like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/0.7.0 MicroMessenger/6.3.9 ' \'Language/zh_CN webview/0 '

  这些数据都是在网上找到,自己可以网页请求微博接口,就可以看到,urser_agent 可能不一样

业务代码

1. 抓取微博数据

# 抓取微博数据
def get_data(page, user_id):headers = {'Host': host,'Referer': 'https://m.weibo.cn/u/%s' % user_id,'User-Agent': user_agent}params = {