爬取关注列表中微博账号的代码实现
时间: 2023-10-10 21:15:04 浏览: 126
weibo-follow:爬取关注列表中微博账号的微博
以下是使用 Python 和 requests 库爬取微博用户关注列表中微博账号的代码实现,需要使用到微博的 Cookie 和 User-Agent 信息,可以通过浏览器开发者工具获取:
```python
import requests
import json
# 设置请求头信息
headers = {
'Cookie': 'your cookie',
'User-Agent': 'your user agent',
}
user_id = 'your user id' # 要爬取的用户ID
follows_url = 'https://m.weibo.cn/api/container/getSecond?containerid=100505' + user_id + '_-_FOLLOWERS&page_type=03&since_id='
follows = [] # 存储关注用户的微博账号
# 爬取关注列表
while True:
res = requests.get(follows_url, headers=headers)
res_json = json.loads(res.text) # 将请求结果转换为JSON格式
data = res_json.get('data', {})
cards = data.get('cards', [])
# 解析每个关注用户的微博账号
for card in cards:
card_group = card.get('card_group', [])
for item in card_group:
user = item.get('user', {})
screen_name = user.get('screen_name', '')
profile_url = user.get('profile_url', '')
if screen_name and profile_url:
follows.append({'screen_name': screen_name, 'profile_url': profile_url})
# 判断是否有下一页
if not data.get('is_end', False):
since_id = data.get('since_id', '')
follows_url = follows_url + since_id
else:
break
# 输出关注用户的微博账号
for follow in follows:
print(follow)
```
其中,`user_id` 为要爬取的用户ID,`follows_url` 是关注列表的请求URL,`follows` 列表存储了所有关注用户的微博账号。在解析每个关注用户的微博账号时,可以根据需要获取更多的其他信息,如微博ID、粉丝数等。
阅读全文