欢迎来到Python教程自学网!
当前位置: 首页 > Python爬虫 > python爬虫爬取微博评论

python爬虫爬取微博评论

   

python爬虫爬取微博评论

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

一、爬虫微博

与QQ空间爬虫类似,可以爬取新浪微博用户的个人信息、微博信息、粉丝、关注和评论等。

爬虫抓取微博的速度可以达到 1300万/天 以上,具体要视网络情况。

难度程度排序:网页端>手机端>移动端。微博端就是最好爬的微博端。

二、python爬虫爬取微博评论

第一步:确定评论用户的id

# -*- coding:utf-8 -*-
import requests
import re
import time
import pandas as pd
urls = 'https://m.weibo.cn/api/comments/show?id=4073157046629802&page={}'
headers = {'Cookies':'Your cookies',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}

第二步:找到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:

第四步:利用正则表达式去除文本中的html标签

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)

第五步:爬取评论

df = pd.DataFrame({'ID': ids, '评论': comments})
 
 
df = df.drop_duplicates()
 
 
df.to_csv('观察者网.csv', index=False, encoding='gb18030')

PS:在做爬虫的过程中,如果你爬取的频率过快,不符合人的操作模式。有些网站的反爬虫机制通过监测到你的IP异常,访问频率过高。就会对你进行封IP处理。目前已有比较多的第三方平台专门进行代理IP的服务,可以通过爬虫代理进行辅助。

以上python爬虫爬取微博评论的实例,对于新入手的小白,可以用微博端练练手哦~