欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python爬虫爬取微博评论

程序员文章站 2022-05-02 20:42:42
...

python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手。python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,无论是python新入手的小白,还是已经熟练掌握的程序员,可以拿来练手。本文介绍python爬取微博评论的代码实例。

一、爬虫微博

与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')

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