python爬取微博某个热搜下用户的发的博文内容
时间: 2023-10-22 11:09:48 浏览: 110
以下是一个简单的Python爬虫程序,可以爬取微博某个热搜下用户的发的博文内容:
```python
import requests
import json
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 输入热搜关键词和要爬取的页面数
keyword = input("请输入热搜关键词:")
page_num = int(input("请输入要爬取的页面数:"))
# 构造请求参数
params = {
'containerid': '100103type=1&q=' + keyword,
'page_type': 'searchall',
'page': 1
}
# 循环爬取每个页面的博文内容
for i in range(page_num):
# 更新请求参数中的页码
params['page'] = i + 1
# 发送请求
response = requests.get('https://m.weibo.cn/api/container/getIndex', params=params, headers=headers)
# 解析响应内容
data = json.loads(response.content.decode('utf-8'))
cards = data['data']['cards']
for card in cards:
# 判断卡片类型,只处理微博卡片
if card['card_type'] == 9:
# 获取用户昵称、博文内容和博文发布时间
user = card['mblog']['user']['screen_name']
text = card['mblog']['text']
created_at = card['mblog']['created_at']
# 输出结果
print('用户:', user)
print('内容:', text)
print('时间:', created_at)
print('------------------------')
```
使用该程序需要先安装requests和json库。可以通过以下命令进行安装:
```
pip install requests
pip install json
```
该程序首先会询问用户要爬取的热搜关键词和页面数。然后,循环爬取每个页面的博文内容,解析响应内容,获取用户昵称、博文内容和博文发布时间,并输出结果。
阅读全文