微博评论爬取

import requests
import csv# 打开CSV文件以写入数据
f = open('data.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['昵称', '性别', '归属地', '内容'])
csv_writer.writeheader()# 定义一个函数用于获取评论内容
def GetContent(max_id):# 设置请求头部信息,包括Cookie和User-Agentheaders = {"Cookie": "Your Cookie Here","User-Agent": "Your User-Agent Here"}# 构建请求的URLurl = f'https://weibo.com/ajax/statuses/buildComments?flow=0&is_reload=1&id=5024441672929516&is_show_bulletin=2&is_mix=0&max_id={max_id}&count=20&uid=2286908003&fetch_level=0&locale=zh-CN'# 发起GET请求response = requests.get(url=url, headers=headers)# 解析响应的JSON数据json_data = response.json()# 提取评论数据lis = json_data['data']# 遍历评论数据并写入CSV文件for li in lis:name = li['user']['screen_name']try:ip = li['source'].replace('来自', '')except:ip = '未知'content = li['text_raw']gender = li['user']['gender']if gender == 'f':gender = '女'elif gender == 'm':gender = '男'else:gender = '保密'dit = {'昵称': name,'性别': gender,'归属地': ip,'内容': content,}csv_writer.writerow(dit)# 获取下一页评论的max_idnext_id = json_data['max_id']print(next_id)return next_id# 初始化max_id为空字符串,并循环获取评论数据
max_id = ''
for page in range(10):max_id = GetContent(max_id=max_id)# 关闭文件
f.close()

以上展示的是爬取一则微博帖子评论前10页的代码示例,

主要包括的维度有“昵称”“性别”“归属地”“内容”,

同一个url中的“max_id”值代表不同页的数据内容

默认首页url中“max_id"为空,则其json数据“max_id”键指向的是下一页url中“max_id"

获取页面方法如下:

1.用谷歌浏览器点击进入一条微博链接

2.F12在“网络”中进行过滤“ajax/statuses/buildComments?”

3.选择其中url中带有“max_id"的链接,在代码中更换即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2981714.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【头文件】对.h文件的理解

目录 🌞1. 头文件的概念 🌊1.1 头文件的由来 🌊1.2 头文件的作用 🌊1.3 在.h文件中实现函数也不会出错的原因 🌞2. 简单示例 🌊2.1 头文件addition.h 🌊2.2 头文件接口实现addition.cpp …

网络编程 day5

select实现TCP并发服务器&#xff1a; #include<myhead.h> #define SER_IP "192.168.125.199" //服务器IP地址 #define SER_PORT 6666 //服务器端口号int main(int argc, const char *argv[]) {//1、创建套节字&#xff1a;用于接收…

页面分页打印,echarts图解决办法;生成PDF

1&#xff1a;echarts图片前端打印不是很完美&#xff0c;对于VUE2.0版本不是很有好 2&#xff1a;360浏览器不支持vue的最新版本的插件vue3-print-nb 3&#xff1a;vue-print-nb 可以打印带有echarts 一页内容&#xff0c;并且还存在bug&#xff0c;第一次点击打印没有&…

SVG 绘制微信订阅号icon

效果 代码 <!DOCTYPE html> <html> <body><svg xmlns"http://www.w3.org/2000/svg" version"1.1" width"600" height"600"><rect x"0" y"0" rx"0" ry"0" width&…

HarmonyOS开发案例:【图片编辑】

介绍 本篇Codelab是基于ArkTS的声明式开发范式的样例&#xff0c;主要介绍了图片编辑实现过程。样例主要包含以下功能&#xff1a; 图片的解码。使用PixelMap进行图片编辑&#xff0c;如裁剪、旋转、亮度、透明度、饱和度等。图片的编码。 相关概念 [图片解码]&#xff1a;读…

数学建模完整版

模型与适用题型 微分方程传染病预测模型 神经网络 层次分析法 粒子群算法 matlab 优劣解距离法

11 JavaScript学习:事件

Html事件 HTML 中有很多事件可以用来与用户交互&#xff0c;以下是一些常见的 HTML 事件及其详细解释和举例&#xff1a; click 事件&#xff1a;当用户点击元素时触发。 <button onclick"myFunction()">点击我</button>dblclick 事件&#xff1a;当用…

各平台奇怪问题备忘录

微信小程序 小程序报错Page 页面路径 has not been register yet 描述&#xff1a;uniapp做微信小程序开发时&#xff0c;新增某页面后&#xff0c;小程序跳转该页面报错Page 页面路径 has not been register yet 已知&#xff1a;page.json已添加该页面&#xff0c;小程序a…

游戏陪玩系统app

游戏陪玩系统APP为用户提供了一个便捷的平台&#xff0c;让他们能够轻松找到合适的陪玩者&#xff0c;一同享受游戏的乐趣。以下是对您提到的功能的详细解释&#xff1a; 游戏约玩&#xff1a; 在陪玩APP上&#xff0c;用户可以浏览陪玩者的信息&#xff0c;包括他们的游戏技能…

DNS 解析过程

一张图即可说明&#xff0c;如果能看到上图就不用往下看了。下面是上图的文字版解析 a. 用户输入 URL: 当你在浏览器中点击一个链接或输入一个网址时&#xff0c;比如点击一个图片链接 http://www.example.com/image.jpg&#xff0c;这个过程开始于你的设备尝试理解这个地址所…

Excel 冻结前几行

Excel中有冻结首航和冻结首列的选项&#xff0c;但是如果想冻结前几行该怎么操作&#xff1f; 冻结首行或冻结首列 视图 -> 冻结窗格 -> 冻结首行或冻结首列 冻结前几行或前几列 视图 -> 冻结窗格 -> 冻结拆分窗格 具体冻结几行和几列取决于当前选中的单元格。…

使用甘特图来做时间管理

在这个追求效率的时代,掌握高超的时间管理技能几乎等同于掌控了成功。事实上,时间就是金钱,更是稀缺资源。那么,如何高效地规划和利用时间呢?甘特图应该是您的必备武器之一。 甘特图(Gantt chart)名字虽然有些陌生,但它的使用范围确实广泛。无论是全职妈妈安排家务,还是上市公…

数据库轻松切换:解读Spring中的AbstractRoutingDataSource

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 数据库轻松切换&#xff1a;解读Spring中的AbstractRoutingDataSource 前言AbstractRoutingDataSource介绍作用和优势&#xff1a;作用&#xff1a;优势&#xff1a; 使用 AbstractRoutingDataSource …

flutter release 报错 Error: SocketException: Failed host lookup:

flutter 的 debug 模式没有任何问题 &#xff0c;打了release 包后一直报下面的错&#xff0c;查了一下是 因为没有网络权限 Error: SocketException: Failed host lookup: yomi-test-aws-sg.yomigame.games (OS Error: No address associated with hostname, errno 7) 按照下…

【Vue】常见的七大属性(描述+案例)

一、前言 最近&#xff0c;因为项目需要自己就去学习了一下Vue的相关知识&#xff0c;自己花了几天&#xff0c;结合官方文档和相应的视频学习了一下Vue,了解了Vue大概的一些属性&#xff0c;方法&#xff0c;特点等。接下来博主会将自己学习的相关内容通过博客的形式进行记录…

python实现钉钉通讯录导出Excel表

Python工具开源专栏 Py0004 python实现钉钉通讯录导出Excel表 Python工具开源专栏前言目录结构部分演示完整代码已在GitHub上开源 前言 需求来源于公司&#xff0c;需要将钉钉通讯录以Excel表的形式导出到本地&#xff0c;方便定期备份。导出的Excel需要处理钉钉用户兼任多部门…

W801学习笔记十一:掌机进阶V3版本之硬件改造

经由前面的笔记&#xff0c;我们打造出了一款游戏掌机。 W801学习笔记十&#xff1a;HLK-W801制作学习机/NES游戏机(总结) 然而&#xff0c;考虑到后续的游戏开发&#xff0c;总是忧心容量不足。故而&#xff0c;在正式展开软件开发工作以前&#xff0c;最终进行一下升级改造…

Ai终端程序推荐waveterm

有没有人根据Ai的风口&#xff0c;做智能终端呢&#xff1f;答案是真有&#xff0c;真有专为无缝工作流程而构建的开源 AI 原生终端。它是去年推出的一个产品&#xff0c;专为程序员和开发者设计&#xff0c;比较创新的一点是所有的工作可以在终端完成&#xff0c;开源和可扩展…

Python静态资源库之webassets使用详解

概要 Python webassets库是一个用于管理静态资源的工具,如CSS、JavaScript等,帮助开发者更有效地管理和优化网站的静态文件。本文将介绍如何安装和使用Python webassets库,以及它的特性、基本功能、高级功能、实际应用场景和总结部分。 安装 首先,需要安装Python webasse…

<前端>Electron-builder为公证后的app打更新信息latest.yml

MacOS下&#xff0c;Electron-builder可以很方便的为测试包app打更新信息&#xff08;latest-mac.yml&#xff09;。 但是&#xff0c;正式发布的时候&#xff0c;不可能用测试包app&#xff0c;因为还没有进行公证。如何为公证的app打latest-mac.yml呢。 其实观察latest-mac.y…