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 面向对象静态方法、类方法、属性方法知识点小结...
今天为大家带来的内容是介绍了Python 面向对象静态方法.类方法.属性方法,总结分析了Python 面向对象程序设计中静态方法.类方法.属性方法相关概念.知识点.操作技巧与使用注意事项,需要的朋友可 ...
- python解释器在哪里_详解查看Python解释器路径的两种方式
进入python的安装目录, 查看python解释器 进入bin目录 # ls python(看一下是否有python解释器版本) # pwd (查看当前目录) 复制当前目录即可 1. 通过脚本查看 ...
- python selenium爬虫_详解基于python +Selenium的爬虫
详解基于python +Selenium的爬虫 一.背景 1. Selenium Selenium 是一个用于web应用程序自动化测试的工具,直接运行在浏览器当中,支持chrome.firefox等主 ...
- 用python写网络爬虫-爬取新浪微博评论
新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id. 分析新浪微博的评论获取方式得知,其采用动态加载.所以使用json模块解析jso ...
- 用python3做学生管理系统_详解用python实现基本的学生管理系统(文件存储版)(python3)...
详解用python实现基本的学生管理系统(文件存储版)(python3) 来源:中文源码网 浏览: 次 日期:2019年11月5日 详解用python实现基本的学生管理系统(文件存储版)( ...
- python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...
一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...
- python zxing 识别条码_详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强...
前言 这周和大家分享如何用python识别图像里的条码.用到的库可以是zbar.希望西瓜6辛苦码的代码不要被盗了.(zxing的话,我一直没有装好,等装好之后再写一篇) 具体步骤 前期准备 用open ...
- 利用python处理dna序列_详解基于python的全局与局部序列比对的实现(DNA)
程序能实现什么 a.完成gap值的自定义输入以及两条需比对序列的输入 b.完成得分矩阵的计算及输出 c.输出序列比对结果 d.使用matplotlib对得分矩阵路径的绘制 一.实现步骤 1.用户输入步 ...
- 用python写管理系统局域网_详解用python -m http.server搭一个简易的本地局域网
工作时同事间几mb小文件的传输,一般使用QQ或者微信就足够了,但当传输文件几百MB或者几十G时,这种方法的效率就显得不足了.本篇就是简单说明一个python小功能,让大家能利用python方便的搭建一 ...
最新文章
- 【机器学习入门】(7) 线性回归算法:原理、公式推导、损失函数、似然函数、梯度下降
- mysql之存储引擎的选择
- mupdf不支持x64_x86平台转x64平台关于内联汇编不再支持的解决
- elasticsearch mapping之store
- Spring MVC报错:The request sent by the client was syntactically incorrect ()
- 3 linux禁用ssl_ESXI申请阿里云SSL证书并配置
- 耳机不支持android,安卓手机为什么不能用EarPods耳机 原因分析【图解】
- 20191208_神经网络交叉验证
- 密码学系列 - 双线性对
- 专业网速测试软件哪个好,网速测试软件哪个好?6款热门网速测试软件推荐
- Javassist学习总结1
- 电脑开机一直弹计算机的界面,电脑开机总是弹出登陆窗口的解决方法
- 洛谷P1338(末日的传说)
- 什么是md5码,md5码有什么用?
- 超详细的《使用腾讯云移动直播开发连麦》
- 如何开启电脑的远程开机和远程控制?
- List集合关于Stream的操作
- 在 JavaScript 中访问对象属性的 3 种方法
- check 和nocheck
- Orcal数据库中ORA-01861: 文字与格式字符串不匹配
热门文章
- 实时竞价的技术及行业展望
- EMW3080+STC15轻松实现设备上云4(阿里云物联网平台、智能生活开放平台)
- 第1140期AI100_机器学习日报(2017-11-01)
- python大数据就业方向_大数据专业未来的就业方向有哪些?[黑马程序员]
- chmod u+s权限理解
- Linux基础命令(管理工具)
- openresty ngx_lua请求响应
- 微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)...
- IT项目经理成长手记学习(一)
- python3 教程 下载图片资源