python微博评论爬虫_详解用python写网络爬虫-爬取新浪微博评论
新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id。
分析新浪微博的评论获取方式得知,其采用动态加载。所以使用json模块解析json代码
单独编写了字符优化函数,解决微博评论中的嘈杂干扰字符
本函数是用python写网络爬虫的终极目的,所以采用函数化方式编写,方便后期优化和添加各种功能
# -*- coding:gbk -*-
import re
import requests
import json
from lxml import html
#测试微博4054483400791767
comments=[]
def get_page(weibo_id):
url='https://m.weibo.cn/status/{}'.format(weibo_id)
html=requests.get(url).text
regcount=r'"comments_count": (.*?),'
comments_count=re.findall(regcount,html)[-1]
comments_count_number=int(comments_count)
page=int(comments_count_number/10)
return page-1
def opt_comment(comment):
tree=html.fromstring(comment)
strcom=tree.xpath('string(.)')
reg1=r'回复@.*?:'
reg2=r'回覆@.*?:'
reg3=r'//@.*'
newstr=''
comment1=re.subn(reg1,newstr,strcom)[0]
comment2=re.subn(reg2,newstr,comment1)[0]
comment3=re.subn(reg3,newstr,comment2)[0]
return comment3
def get_responses(id,page):
url="https://m.weibo.cn/api/comments/show?id={}&page={}".format(id,page)
response=requests.get(url)
return response
def get_weibo_comments(response):
json_response=json.loads(response.text)
for i in range(0,len(json_response['data'])):
comment=opt_comment(json_response['data'][i]['text'])
comments.append(comment)
weibo_id=input("输入微博id,自动返回前5页评论:")
weibo_id=int(weibo_id)
print('\n')
page=get_page(weibo_id)
for page in range(1,page+1):
response=get_responses(weibo_id,page)
get_weibo_comments(response)
for com in comments:
print(com)
print(len(comments))
以上所述是小编给大家介绍的python爬取新浪微博评论详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
python微博评论爬虫_详解用python写网络爬虫-爬取新浪微博评论相关推荐
- python爬取微博恶评_详解用python写网络爬虫-爬取新浪微博评论
新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id. 分析新浪微博的评论获取方式得知,其采用动态加载.所以使用json模块解析jso ...
- python微博评论爬虫_详解用python写网络爬虫-爬取新浪微博评论 基于Python的新浪微博爬虫研究...
怎样爬取新浪微博的评论信息 针对八爪鱼在微博的应用上,除了用户信息之外还包括话题内容方面的采集,目前绝大多数企业均在微博设有官方微博,八爪鱼可以协助企业快速及时的抓取与企业产品相关联的话题信息,规则市 ...
- python selenium爬虫_详解基于python +Selenium的爬虫
详解基于python +Selenium的爬虫 一.背景 1. Selenium Selenium 是一个用于web应用程序自动化测试的工具,直接运行在浏览器当中,支持chrome.firefox等主 ...
- python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...
一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...
- python zxing 识别条码_详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强...
前言 这周和大家分享如何用python识别图像里的条码.用到的库可以是zbar.希望西瓜6辛苦码的代码不要被盗了.(zxing的话,我一直没有装好,等装好之后再写一篇) 具体步骤 前期准备 用open ...
- python解释器在哪里_详解查看Python解释器路径的两种方式
进入python的安装目录, 查看python解释器 进入bin目录 # ls python(看一下是否有python解释器版本) # pwd (查看当前目录) 复制当前目录即可 1. 通过脚本查看 ...
- 利用python处理dna序列_详解基于python的全局与局部序列比对的实现(DNA)
程序能实现什么 a.完成gap值的自定义输入以及两条需比对序列的输入 b.完成得分矩阵的计算及输出 c.输出序列比对结果 d.使用matplotlib对得分矩阵路径的绘制 一.实现步骤 1.用户输入步 ...
- python 写入excel 日期_详解:Python实现大数据收集至excel的思路大牛分享(建议收藏)...
一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...
- python登录系统文件版_详解用python实现基本的学生管理系统(文件存储版)(python3)...
这个是升级的版本,比较进阶一点的,相对与之前的文件管理系统,数据只是存储到了内存中,而不是存储到硬盘上,我们想让文件存储到硬盘上的话,一个是存储到文件里,一个是存储到数据库中,存储到数据库中的版本会后 ...
- python numpy 子数组_详解:Python 取numpy数组的某几行某几列方法(含对与错示例)...
前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! ...
最新文章
- 在同一个workprocess里对两张表分别使用online update和update function module update
- python列表数据类型(一分钟读懂)
- oracle用户密码规则,使用Oracle自带profile以及函数简单设定Oracle用户名密码规则...
- 帮你躲坑:pip install tensorflow 报错怎么办,import tensorflow 报错怎么办?
- FISCO BCOS(三)——— 部署及调用HelloWorld合约
- 【排列组合】只上代码不解释
- a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?...
- 搭建NB-IoT中国电信物联网开放平台实验环境
- 基于FPGA的虚拟示波器的设计
- 含泪整理最优质时间轴网页特效素材,你想要的这里都有
- 微信程序开发系列教程(二)微信订阅号+人工智能问答服务
- 数据猿·金猿榜丨2017工业大数据领域最具潜力创业公司
- CSDN博客个人主页左侧栏添加微信二维码
- 使用springboot写一个记事小账本
- entity、model、domain三个包名的意思
- 强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解
- J2SE图书管理系统(8)——图书查询功能
- 20220304-0307es
- 基于射频CC2520 实现的ZigBee 通信设计
- openwrt变砖恢复(串口boot下升级)教程