python爬取微博评论的实例讲解

时间:2021-05-22

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

一、爬虫微博

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

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

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

二、python爬虫爬取微博评论

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

# -*- coding:utf-8 -*-import requestsimport reimport timeimport pandas as pdurls = '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')

实例扩展:

# -*- coding: utf-8 -*-# Created : 2018/8/26 18:33# author :GuoLi import requestsimport jsonimport timefrom lxml import etreeimport htmlimport refrom bs4 import BeautifulSoup class Weibospider: def __init__(self): # 获取首页的相关信息: self.start_url = 'https://weibo.com/u/5644764907?page=1&is_all=1' self.headers = { "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "accept-encoding": "gzip, deflate, br", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8", "cache-control": "max-age=0", "cookie": 使用自己本机的cookie, "referer": "https://ment_info_list) del count time.sleep(0.2) print("第{}微博信息获取完成!".format(i * 45 + j + 1)) if __name__ == '__main__': weibo = Weibospider() weibo.run()

到此这篇关于python爬取微博评论的实例讲解的文章就介绍到这了,更多相关python爬虫爬取微博评论内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章