哈喽哈喽~~~学习记录:

获取微博某条评论的部分数据:例子链接: 微博   。

一、目标网址分析

打开网址:

向下滑动,可以看到评论数据:

先在评论区随便复制一个用户名——鼠标右键——检查源代码—ctr+F—把复制的数据丢进去检索,发现并没有在这里找到目标数据:

那就可以来到下图,抓取服务器返回的json数据:

如下:

再就是:在返回的数据包中,我们在两处找到了我们要的数据,

但是来到请求头:

链接:解决provisional headers are shown的过程 - caigan - 博客园 ,但在这里,直接找正常的请求url就行。~~

再来看看请求头的参数:我们多向下滑动几次(数据动态加载的):

再:

在多翻几块评论后发现:只有max_id这个参数发生了彼岸花,这种情况的话,就去返回的数据里找找。Response中:

在上面检索的时候,我们检索max_id,检索到了很多的max_id,我们也可以直接检索我们要的参数值(方便定位)。url处理好了后,再去提取我们需要的数据。

好了,现在可以来到代码部分了~~~

二、代码实现

总代码:

"""
2022年CSDN:抄代码抄错的小牛马
"""
import csv
import requests
import timeheaders = {'Cookie': 'SCF=AiRBUT9QJuus8YUaFkCqXwvCsmhD34I2T2iaqq8ckshEWZYqziVi9kdSr1Pq9VTP_EAKxArt8_tW-JCQRPVKyJ8.; SUB=_2A25M4vtaDeRhGeFJ6FQR9SrIzDWIHXVsLIUSrDV6PUJbktCOLVTckW1NfA3sqYESNrYjdiWqi7X77v0RmHWhXyN6; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WW88ZW9w-vn-iGnnPe7fqwT5JpX5K-hUgL.FoMNe0q7SKBXS0.2dJLoI7vbIPHbIPHbIPHkeK-4S0zt; _T_WM=14995490976; WEIBOCN_FROM=1110006030; MLOGIN=1; M_WEIBOCN_PARAMS=oid%3D4735010203238477%26luicode%3D20000061%26lfid%3D4735010203238477%26uicode%3D20000061%26fid%3D4735010203238477; XSRF-TOKEN=0b6a51','Referer': 'https://m.weibo.cn/detail/4735010203238477','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36',}url = 'https://m.weibo.cn/comments/hotflow'
f = open('微博正文评论多页获取2.csv', mode='a', encoding='utf-8', newline='')
writer = csv.writer(f)def get():data = {'id': 4735010203238477,'mid': 4735010203238477,'max_id_type': 0,}resp = requests.get(url=url, headers=headers, params=data).json()max_id = resp['data']['max_id']data_list = resp['data']['data']for dicts in data_list:user_name = dicts['user']['screen_name']  # 用户名like_count = dicts['like_count']  # 点赞该评论数text = dicts['text'].split('<')[0]  # 评论user_url = dicts['user']['profile_url']  # 用户微博链接created_at = dicts['created_at']  # 评论时间writer.writerow([user_name, like_count, text, user_url, created_at])time.sleep(3)  # 睡一下get2(max_id)def get2(max_id):a = 1while True:data2 = {'id': 4735010203238477,'mid': 4735010203238477,'max_id': max_id,'max_id_type': 0}resp2 = requests.get(url=url, headers=headers, params=data2).json()max_id = resp2['data']['max_id']# print(resp2)data_list = resp2['data']['data']for dicts in data_list:user_name = dicts['user']['screen_name']  # 用户名like_count = dicts['like_count']  # 点赞该评论数text = dicts['text'].split('<')[0]  # 评论user_url = dicts['user']['profile_url']  # 用户微博链接created_at = dicts['created_at']  # 评论时间writer.writerow([user_name, like_count, text, user_url, created_at])if a == 20:  # 我没爬完,10页左右breaka += 1def main():get()if __name__ == '__main__':main()

哈哈哈~~~~~就运行了几次就欧了

打开数据看看:


微博评论数据——requests——保存在本地相关推荐

  1. python爬豆瓣电视剧_python requests库爬取豆瓣电视剧数据并保存到本地详解

    首先要做的就是去豆瓣网找对应的接口,这里就不赘述了,谷歌浏览器抓包即可,然后要做的就是分析返回的json数据的结构: https://movie.douban.com/j/search_subject ...

  2. pyhton微博爬虫(3)——获取微博评论数据

    本文的主要目标是获取微博评论数据,具体包括微博评论链接.总评论数.用户ID.用户昵称.评论时间.评论内容.用户详情链接等. 实现代码如下所示: # -*- coding: utf-8 -*- &quo ...

  3. 【Python爬虫实例学习篇】——5、【超详细记录】从爬取微博评论数据(免登陆)到生成词云

    [Python爬虫实例学习篇]--5.[超详细记录]从爬取微博评论数据(免登陆)到生成词云 个人博客地址:ht/tps://www.asyu17.cn/ 精彩部分提醒: (1)微博评论页详情链接为一个 ...

  4. java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...

    本文主要向大家介绍了Java语言通过URL读取网页数据并保存到本地文件(代码实例),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java通过URL读取网页数据并保存到本地文件(代码 ...

  5. Jmeter把响应数据结果保存到本地文件

    最近做一个性能压测,需要用接口获取大量的数据,并获取该接口返回的一个字段值,于是找了如何把响应数据结果保存到本地文件. 如图,某接口需要用如图所示字段入参. 步骤一:先用正则表达式获取该字段的内容 步 ...

  6. 微博评论数据爬取以及分析

    #不许你没看过の系列!# 吹爆最近的国漫<哪吒之魔童降世> 从故事情节.角色设计到特效处理 都非常牛!!! #连海报都好好看啊# 上映首周票房已经达到14.1亿! 打破国漫票房记录! 豆瓣 ...

  7. python-excel 之表格数据截图保存到本地

    前提:excel文件中包含很多个sheet,我只截图其中一个表的数据并保存到本地 环境:python3.5 + office 2016激活 方法1: def excel_catch_screen(fi ...

  8. 为了分析最近热点电影的观众爱好取向,爬取《镇魂》微博评论数据

    爬取<镇魂>微博数据 本文皆在于通过爬虫方式爬取微博镇魂. 编程语言:python2.7 依赖库:requests 系统环境:windows *本篇文章主要参考自Denise_hzf的博客 ...

  9. 一文带你批量爬取某马拉雅音频数据并保存到本地~

    文件目录 写在前面 一.需求分析 二.编程思路 三.完整代码 引用源自 写在前面   今天带给大家一个爬取因音频数据的小案例,我将案列重新复现了功能并做了些小优化,今天分享给大家.还是老规矩在文末会附 ...

最新文章

  1. XSS攻击之窃取Cookie
  2. 3D打印机控制板 Ramps 1.4的原理图
  3. matlab找数据的转账点,nodejs开发EOS转账服务的两种方案
  4. Windows四大傻X功能——那些拖慢系统性能的罪魁祸首
  5. Linux服务器集群系统(二)—— LVS的IP负载均衡技术
  6. javascript --- [代码优化]将复杂的函数分解写异步请求数据的同步写法
  7. unity重定向_unity3D游戏开发之动画混合与动画重定向
  8. golang调用java的函数_大话golang性能分析(一):profile基本原理
  9. 图之遍历--广度优先遍历
  10. 数字图像识别学习笔记(第二章-数字图像基础(1))
  11. Bailian3252 最大正向匹配【字符串匹配】
  12. 数据备份与数据恢复产品——程序猿的必备品
  13. 2分钟教你部署2048小游戏到云服务器
  14. editormd html 转义,Markdown(editormd)语法解析成HTML
  15. 名帖315 沈尹默 行书《兰亭序》书轴
  16. 按键控制LED-ISE操作工具
  17. HDU-6608-Fansblog(威尔逊定理+快速乘)(多校)
  18. Simple polygon
  19. 2023年渗透测试都需要学习哪些内容?
  20. Linux-日志管理篇

热门文章

  1. Angular开发(三)-关于属性绑定与事件绑定
  2. pyecharts--地图
  3. [Win10] [C# Desktop] 两种方法发送原生Toast通知
  4. 在计算机小三号是多少在英语,计算机的一些常用英语。
  5. 宇视科技android面试_在宇视科技工作是怎样的体验?
  6. 车载毫米波雷达测试方法
  7. 网上商城SSH三者间的牵线
  8. 中国唯一的图灵奖获得者姚期智,在清华开设的“姚班”有哪些 AI 名徒?
  9. css3 background简写,background-size简写背景属性(CSS3)
  10. 软考题目之头结点、头指针和首元节点