新浪微博需要登录才能爬取,这里使用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写一个抽奖程序

    第一次使用python写程序,确实比C/C++之类方便许多.既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁.清晰.方便. 1.用到的模块 生成随机数的模块random 用来 ...

  2. python提取pdf的数字_详解利用python提取pdf文本数字

    之前也不乏介绍过关于excel的内容,日常工作应用,除了excel,pdf也是经常使用的一种,关于pdf的文本提取,下面也来详细介绍~ 说明:从pdf文件中提取其他类型的数据,如文本或图像.将说明从p ...

  3. python百度地图api经纬度_详解用Python调用百度地图正/逆地理编码API

    一.背景 (正)地理编码指的是:将地理位置名称转换成经纬度: 逆地理编码指的是:将经纬度转换成地理位置信息,如地名.所在的省份或城市等 百度地图提供了相应的API,可以方便调用.相应的说明文档如下: ...

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

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

  5. python壁纸高清图片_详解Python静态网页爬取获取高清壁纸

    前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我 ...

  6. python手机壁纸超清_详解Python静态网页爬取获取高清壁纸

    前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我 ...

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

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

  8. 用python写网络爬虫-爬取新浪微博评论

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

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

    详解用python实现基本的学生管理系统(文件存储版)(python3) 来源:中文源码网    浏览: 次    日期:2019年11月5日 详解用python实现基本的学生管理系统(文件存储版)( ...

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

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

最新文章

  1. 设计模式六大原则:依赖倒置原则、为什么、多例子、分析例子、总结
  2. Opencv step by step - 加载视频
  3. 如何禁止电脑某个程序运行(强制自律)
  4. LevelDB原理及应用
  5. 信用贷款额度是怎么确定的?
  6. Android学习笔记---15_采用Pull解析器解析和生成XML内容
  7. android assets目录在哪,Android Studio 中 assets目录的使用
  8. 大学四年,我把私藏的自学「学习网站/实用工具」都贡献出来了
  9. 快启动win10pe制作详细图文教程
  10. 风尚云网学习-前端页面敏感数据脱敏星号展示
  11. OSA品牌服饰旗舰店,淘宝商城一颗…
  12. 详解Po.et 技术栈
  13. 函数式编程(JAVA)——Stream流
  14. 求求你们,这次不要放过东北
  15. 首款国产8K 50P小型化广播级摄像机背后的故事
  16. java sbt_SBT管理java项目
  17. 点关于直线的距离、垂足、对称点公式
  18. k8s pod 无法运行,错误registry.access.redhat.com/rhel7/pod-infrastructure:latest
  19. go依赖包下载加速方法及github加速
  20. 如何在网站标题前面加logo

热门文章

  1. 用友U8案例教程目录
  2. 雅虎邮箱客户端服务器设置
  3. Functional Programming
  4. 有了神经网络,带汤姆实时追踪杰瑞
  5. 去除字符串中所包含的空格(包括:空格(全角,半角)、制表符、换页符等)
  6. 如何用仅用C语言判断编译器的大小端
  7. OpenCV:图像的基本操作之修改像素、拆分及合并RGB通道
  8. shell-5.随机数,嵌套循环,expect
  9. KU-600变电站综合自动化系统
  10. centos7安装noIP-动态域名解析最佳实践