今天河马HTTP就为大家分享一下,爬虫是如何爬取微博评论信息的。在抓取之前,我们可以先打开微博,并登陆账号。通过开发者工具保存cookie,并根据翻页来找出url的变化规律。
代码如下:
# -*- coding:utf-8 -*-
import requests
import re
import time
import pandas as pd
# id可以写自己想爬的地址id
urls = 'https://m.weibo.cn/api/comments/show?id=******&page={}'
headers = {'Cookies':'cookies信息',
'User-Agent': 'agent信息'}
# 找到html标签
tags = re.compile('</?\w+[^>]*>')
# 设置提取评论function
def get_comment(url):
j = requests.get(url, headers=headers).json()
comment_data = j['data']['data']
for data in comment_data:
try:
comment = tags.sub('', data['text']) # 去掉html标签
reply = tags.sub('', data['reply_text'])
weibo_id = data['id']
reply_id = data['reply_id']
comments.append(comment)
comments.append(reply)
ids.append(weibo_id)
ids.append(reply_id)
except KeyError:
pass
for i in range(1, 101):
url = urls.format(str(i))
get_comment(url)
time.sleep(1) # 防止爬得太快被封
df = pd.DataFrame({'ID': ids, '评论': comments})
df = df.drop_duplicates()
df.to_csv('微博.csv', index=False, encoding='gb18030')
通过上述代码,我们就可以获取到微博评论的相关信息了。河马HTTP为您提供安全稳定、高效便捷的爬虫代理IP服务。 |