新浪微博需要登录才能爬取,这里使用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写网络爬虫-爬取新浪微博评论相关推荐

  1. python爬取微博恶评_详解用python写网络爬虫-爬取新浪微博评论

    新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id. 分析新浪微博的评论获取方式得知,其采用动态加载.所以使用json模块解析jso ...

  2. python微博评论爬虫_详解用python写网络爬虫-爬取新浪微博评论 基于Python的新浪微博爬虫研究...

    怎样爬取新浪微博的评论信息 针对八爪鱼在微博的应用上,除了用户信息之外还包括话题内容方面的采集,目前绝大多数企业均在微博设有官方微博,八爪鱼可以协助企业快速及时的抓取与企业产品相关联的话题信息,规则市 ...

  3. python selenium爬虫_详解基于python +Selenium的爬虫

    详解基于python +Selenium的爬虫 一.背景 1. Selenium Selenium 是一个用于web应用程序自动化测试的工具,直接运行在浏览器当中,支持chrome.firefox等主 ...

  4. python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...

  5. python zxing 识别条码_详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强...

    前言 这周和大家分享如何用python识别图像里的条码.用到的库可以是zbar.希望西瓜6辛苦码的代码不要被盗了.(zxing的话,我一直没有装好,等装好之后再写一篇) 具体步骤 前期准备 用open ...

  6. python解释器在哪里_详解查看Python解释器路径的两种方式

    进入python的安装目录, 查看python解释器 进入bin目录 # ls python(看一下是否有python解释器版本) # pwd (查看当前目录) 复制当前目录即可 1. 通过脚本查看 ...

  7. 利用python处理dna序列_详解基于python的全局与局部序列比对的实现(DNA)

    程序能实现什么 a.完成gap值的自定义输入以及两条需比对序列的输入 b.完成得分矩阵的计算及输出 c.输出序列比对结果 d.使用matplotlib对得分矩阵路径的绘制 一.实现步骤 1.用户输入步 ...

  8. python 写入excel 日期_详解:Python实现大数据收集至excel的思路大牛分享(建议收藏)...

    一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...

  9. python登录系统文件版_详解用python实现基本的学生管理系统(文件存储版)(python3)...

    这个是升级的版本,比较进阶一点的,相对与之前的文件管理系统,数据只是存储到了内存中,而不是存储到硬盘上,我们想让文件存储到硬盘上的话,一个是存储到文件里,一个是存储到数据库中,存储到数据库中的版本会后 ...

  10. python numpy 子数组_详解:Python 取numpy数组的某几行某几列方法(含对与错示例)...

    前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! ...

最新文章

  1. 在同一个workprocess里对两张表分别使用online update和update function module update
  2. python列表数据类型(一分钟读懂)
  3. oracle用户密码规则,使用Oracle自带profile以及函数简单设定Oracle用户名密码规则...
  4. 帮你躲坑:pip install tensorflow 报错怎么办,import tensorflow 报错怎么办?
  5. FISCO BCOS(三)——— 部署及调用HelloWorld合约
  6. 【排列组合】只上代码不解释
  7. a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?...
  8. 搭建NB-IoT中国电信物联网开放平台实验环境
  9. 基于FPGA的虚拟示波器的设计
  10. 含泪整理最优质时间轴网页特效素材,你想要的这里都有
  11. 微信程序开发系列教程(二)微信订阅号+人工智能问答服务
  12. 数据猿·金猿榜丨2017工业大数据领域最具潜力创业公司
  13. CSDN博客个人主页左侧栏添加微信二维码
  14. 使用springboot写一个记事小账本
  15. entity、model、domain三个包名的意思
  16. 强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解
  17. J2SE图书管理系统(8)——图书查询功能
  18. 20220304-0307es
  19. 基于射频CC2520 实现的ZigBee 通信设计
  20. openwrt变砖恢复(串口boot下升级)教程

热门文章

  1. How to Create Your Own HDR Environment Maps
  2. php代码加密工具xend,PHP代码加密工具 Xend v3.0.1
  3. python编写移位密码实现加密与解密
  4. 在unity中使用Excel表格
  5. 快速清洗数据库数据(数据脱敏方案)
  6. [算法]px4位置估计-inav (2017/10/26更新)
  7. CMD下复制文件和文件夹
  8. 【比特率和波特率】bit rate VS baud rate
  9. RS-485 接口 EMC 电路设计
  10. RS-485接口(上下拉电阻选择等)分析