Python爬虫实战-采集微博评论,看看大家都在讨论什么

news2024/9/27 23:22:01

嗨喽,大家好呀~这里是爱看美女的茜茜呐

开发环境:

  • python 3.8: 解释器

  • pycharm: 代码编辑器

模块使用:

  • requests: 发送请求

  • parsel: 解析数据 jieba pandas stylecloud

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


爬虫原理:

模拟成 客户端(浏览器/手机) 向 服务器 发送网络请求

爬虫实现流程:

一. 思路分析

找到数据来源 https://weibo.com/ajax/statuses/buildComments?is_reload=1&id=4863981833423714&is_show_bulletin=2&is_mix=0&count=10&uid=1223178222

network 记录网页数据 请求

二. 实现代码

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

代码展示

导入模块

import requests     # 需要额外安装
import csv
# 半成品 (最基本的架构)
# 分布式
f = open('评论.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['id', 'text_raw', 'source', 'like_counts', 'screen_name', 'followers_count'])

请求头

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
headers = {
    # 用户身份信息
    'cookie': 'SINAGLOBAL=2983116536906.6313.1675064186827; UOR=,,www.baidu.com; SUB=_2A25O3LQhDeRhGeNH6lIY-CjFyT-IHXVqPtxprDV8PUJbkNANLXXDkW1NSsgssEqW-GyChLyvK7V0MBeFYsy23ElC; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WWNoXNAv0FwwfrPTiDyBL285NHD95Qf1K271Knc1Kz0Ws4Dqcjci--4iK.Ri-zXi--fi-2Xi-24i--Xi-zRiKy2i--4iKnfiKy2i--fi-isi-8Fi--Xi-z4iK.7; XSRF-TOKEN=gSKn52W-3CqnU16SUOqIOY5r; _s_tentry=weibo.com; Apache=3694052218654.842.1675252819884; ULV=1675252819940:5:2:5:3694052218654.842.1675252819884:1675237842632; WBPSESS=Q4mocWB9j3toNvru27wa1agqFWvDlaxybkjDQlV26btT8dAjnZKLHT6p8NAwVhAzIbygYan56xOn7f0H4XAe_IymVa9GmASzrKUCqV6J_Ml2bYGTL_URVrA5YnjNm62kuNboZbV4Cpn1MZTfoLbEWg==',
    # 防盗链
    'referer': 'https://weibo.com/1223178222/MqQsvemFc',
    # 浏览器基本信息
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
}
next = 'count=10'
while True:
    url = f'https://weibo.com/ajax/statuses/buildComments?is_reload=1&id=4863981833423714&is_show_bulletin=2&is_mix=0&{next}&uid=1223178222'
  1. 发送请求
    response = requests.get(url=url, headers=headers)
  1. 获取数据

.text: 获取文本数据

.json(): json字符串数据

.content: 获取二进制数据

    # 2.1 出现乱码
    json_data = response.json()
  1. 解析数据

结构化数据 : json数据{}包裹的格式 转成字典, 使用字典取值 re

非结构化数据: 网页源代码 lxml, bs4, parsel, re css/xpath/re

'''
python资料获取看这里噢!! 小编 V:Pytho8987(记得好友验证备注:6 否则可能不通过)
即可获取:文章源码/教程/资料/解答等福利,还有不错的视频学习教程和PDF电子书!
'''
    data_list = json_data['data']
    max_id = json_data['max_id']
    for data in data_list:
        text_raw = data['text_raw']
        try:
            source = data['source']
        except:
            source = "未知"
        id = data['id']
        like_counts = data['like_counts']
        screen_name = data['user']['screen_name']
        followers_count = data['user']['followers_count']
        print(id, text_raw, source, like_counts, screen_name, followers_count)
  1. 保存数据
        csv_writer.writerow([id, text_raw, source, like_counts, screen_name, followers_count])
    next = 'max_id='+str(max_id)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

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

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

相关文章

PLC-Recorder V3版本软件升级方法

PLC-Recorder V3软件进行了架构优化,包括采集服务器、客户端、授权管理等组件。升级方法与V2版本相似,但是也有一些变化,说明如下: 一、从V2向V3版本升级 1、退出原PLCRecorder:关闭右下角的图标。 2、退出打开的离线…

前端接入若依后,页面白屏问题排查

白屏问题分析 页面停留一段时间后,通过tab打开其他的页面,界面会白屏或者无法跳转; 白屏的时候控制台无任何报错无法跳转的时候,控制台会输出错误信息,见截图 1. 无报错白屏问题 通过查找若依的issues找到一个问题点…

C# WPF上位机开发(动态添加控件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 写图形界面软件的时候,我们经常会遇到一种情况。那就是图形界面上面,显示的控件可能是不定的。有可能多,也有可…

外汇天眼:Coinbase国际交易所将启动现货市场

Coinbase宣布了Coinbase国际交易所扩张的下一阶段——退出符合条件客户的非美国现货市场。 这一最新发展旨在满足Coinbase全球用户群体的独特需求和需求,同时强化其扩大国际访问可信产品和服务的战略使命。 Coinbase国际交易所现货交易的推出和扩展将分阶段进行。1…

vue3+vite4中使用svg,使用iconfont-svg图标

记录一下vue3中如何使用svg图标&#xff0c;vue2中大家常用iconfont字体图标&#xff0c;现在vue3大家都又推荐svg的方式使用图表&#xff0c;包括elementplus组件库也变成使用svg方式引用图标。 1、创建svg组件 components/IconSvg.vue <template><svg class"…

avue-form 附件上传增加参数;上传前检查是否重复 覆盖或者跳过

效果 html: <el-dialog title"设备台账导入" append-to-body :visible.sync"excelBox" width"555px"><avue-form :option"excelOption" v-model"excelForm" :upload-after"uploadAfter" :upload-before…

Axure元件库使用与ProcessOn流程图

Axure元件库 自定义Axure元件库&#xff1a; 打开Axure RP软件&#xff0c;并点击菜单栏中的“元件库”选项&#xff0c;选择“新建元件库”。 在弹出的对话框中&#xff0c;选择一个文件夹来保存您的自定义元件库&#xff0c;并给它一个名称。 在Axure RP的主界面上&#x…

不需要联网的ocr项目

地址 GitHub - plantree/ocr-pwa: A simple PWA for OCR, based on Tesseract. 协议 mit 界面 推荐理由 可以离线使用&#xff0c;隐私安全

HDPE硅芯管强度高,抗压抗张和抗冲击强,外层不需其它套管

HDPE硅芯管是一种高性能的管道材料&#xff0c;具有强度高、抗压抗张和抗冲击强的特点。这种管道材料采用高密度聚乙烯&#xff08;HDPE&#xff09;作为基础材料&#xff0c;并添加了硅质增强剂&#xff0c;使得管道具有优异的力学性能和耐久性。 HDPE硅芯管的强度高&#xf…

【VS Code开发】使用Live Server搭建MENJA小游戏并发布至公网远程访问

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程&#xff0c;我们将通过VS Code实现远程开发MENJA小游戏&#xff0c;并通过cpolar内网穿透发布到公网&#xff0c;分…

【LeetCode刷题】-- 170.两数之和III-数据结构设计

170.两数之和III-数据结构设计 方法&#xff1a;使用哈希表 class TwoSum {Map<Integer,Integer> map;public TwoSum() {map new HashMap<>();}public void add(int number) {//key存元素&#xff0c;value为出现的次数map.put(number,map.getOrDefault(number,0…

宠物自助洗护小程序系统

提供给宠物的自助洗澡机&#xff0c; 集恒温清洗、浴液 护毛、吹干、消毒于一体&#xff0c;宠物主人只需用微信小程序源码&#xff0c;即可一键开启洗宠流程。 主要功能&#xff1a; 在线预约 在线支付 洗护记录 会员系统 宠物管理 设备管理 多商户加盟

服务器被持续攻击

持续gong击俺管理的服务器&#xff0c;有什么好处呢&#xff1f;你就不能消停一下&#xff1f; ​ ​ 弄得我好一阵不能安稳&#xff0c;画个雷符治死你们信不信&#xff1f; ​ ​

嵌入式培训-数据结构-day1-引入

学数据结构&#xff0c;结构体和内存malloc必须掌握 心态不能怕难&#xff0c;多练习多写 什么是数据结构 1968年美国克努特教授开创了数据结构的最初体系; 计算机的圣经-《计算机程序设计的艺术》 荣获1974年度的图灵奖 第一卷《基本算法》 第二卷《半数字化算法》 第三…

2132. 用邮票贴满网格图 (困难,二维前缀和,二维差分)

通过二维前缀和&#xff0c;我们可以快速判断以 i&#xff0c;j 为右下顶点是否能贴邮票&#xff0c;其递推关系为即 sum(i, j) 为0就表示以 i&#xff0c;j 为右下顶点能贴邮票&#xff0c;也就是以 i - stampHeight 1&#xff0c;j - stampWidth 1的顶点为左上角能够贴邮票…

万界星空科技AI低代码云MES系统

在企业生产管理过程中&#xff0c;从市场、生产现场到产品交付&#xff0c;生产制造行业都面临着诸多挑战&#xff0c;比如&#xff1a; 订单排产难度大&#xff1a;订单混乱&#xff0c;常漏排产、错排产&#xff1b;产能不明晰&#xff0c;无法承诺交期&#xff0c;常丢单&a…

Java+Swing+mysql大学生就业咨询系统

JavaSwingmysql大学生就业咨询系统 一、系统介绍二、功能展示1.主页2.企业招聘信息查询3.企业招聘信息增加4.企业招聘信息修改5.企业招聘信息删除 三、系统实现1.salary.java 四、其它1.其他系统实现 五、源码下载 一、系统介绍 该系统实现了简单的增删查改、企业招聘信息查询…

一文读懂Java中的设计模式——模板方法,给大家的代码添点料!

模板方法概念 模板设计模式是类的行为模式。准备一个抽象类&#xff0c;将部分逻辑以具体方法以及具体构造函数的形式实现&#xff0c;然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法&#xff0c;从而对剩余的逻辑有不同的实现。…

【动手学深度学习】(十二)现代卷积神经网络

文章目录 一、深度卷积神经网络AlexNet1.理论知识2.代码 二、使用块的网络VGG三、网络中的网络&#xff08;NiN&#xff09;1.理论2.代码 四、含并行结的网络&#xff08;GoogLeNet&#xff09;2.代码 五、批量归一化1.理论2.代码 六、残差网络ResNet【相关总结】torch.nn.Adap…

深度学习中的13种概率分布

1 概率分布概述 共轭意味着它有共轭分布的关系。 在贝叶斯概率论中&#xff0c;如果后验分布 p&#xff08;θx&#xff09;与先验概率分布 p&#xff08;θ&#xff09;在同一概率分布族中&#xff0c;则先验和后验称为共轭分布&#xff0c;先验称为似然函数的共轭先验。 多…