【爬虫实战】-爬取微博之夜盛典评论,爬取了1.7w条数据

前言:

TaoTao之前在前几期推文中发布了一个篇weibo评论的爬虫。主要就是采集评论区的数据,包括评论、评论者ip、评论id、评论者等一些信息。然后有很多的小伙伴对这个代码很感兴趣。TaoTao也都给代码开源了。由于比较匆忙,所以没来得及去讲这个代码。今天刚好使用这个代码去爬取了一些数据,刚好借着这个机会给大伙讲讲代码思路。

思路讲解:

其实这个代码比较简单,其实就是通过使用request这个python的库向目标url发送对应的请求,然后服务器在相应了请求以后,然后再给数据返回回来。然后我们再对对应的数据进行解析就可以了。

大体上如下图所示:
图画的有的地方不是特别严谨,还请见谅
在这里插入图片描述

代码讲解:

首先需要明确我们需要使用的类库,这里主要使用到的库如下:

import re					# 进行数据正则化
import time				# 跟时间有关,主要是为了请求休眠使用
import csv				# 数据持久化,保存到csv
import random			# 随机化数据
import requests			# request请求的库,主要是为了发送请求
from datetime import datetime	# 进行数据格式化,主要是为了对评论时间进行转换
from fake_useragent import UserAgent		# 模拟各种浏览器,一种反反爬手段

这些库都是需要使用的,所以需要提前安装,安装方法,可以使用pip 进行安装,如果直接安装不上的话,可以使用清华镜像站进行安装,安装方法如下:

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple

然后就是登录weibo账号,然后找到对应的文章点进去,可以看到hotflow,这个其实就是评论的数据。我们点击它,然后就可以看到对应的cookie值了,然后复制它
在这里插入图片描述
之后需要给这个cookie值写在代码中,具体如下:
在这里插入图片描述
设置好cookie之后,就是需要给这个创建request请求了。我们还是回到之前的打开文章的界面复制url链接就可以了。
在这里插入图片描述
之后写如下的代码就完成了request请求的操作了,
在这里插入图片描述
其实现在就可以获取到数据了,但是我们可以看一下,hotflow哪些是我们需要的数据。
可以看到我们需要的是like_count、source、text等这些数据
在这里插入图片描述
在这里插入图片描述
所以我们就需要写下面的代码对数据进行解析,至于为什么要写一个for循环,就是为了迭代多条数据。
在这里插入图片描述
然后就是数据进行持久化了,持久化这里我这里使用的是csv,代码如下:
下面的这个是进行表格以及表头的创建

在这里插入图片描述
下面的是对数据进行保存的操作:
在这里插入图片描述

到这里基本上代码就已经写完了

爬取数据:

完成了上面的代码以后,我们就可以爬取数据了
首先我们需要找到需要爬取文章的id,获取方式如下在这里插入图片描述
然后给这个id复制到代码的下面的位置就可以了在这里插入图片描述
然后就可以爬取数据了,这里可以在pycharm或者cmd中执行都是可以的。我比较喜欢在cmd中执行代码,具体就是在cmd中使用python youcodeName.py就可以了。比较省事的方式其实就是使用pycharm直接run
下面是我在cmd中运行结束的截图

在这里插入图片描述
然后下面的是我爬取到的数据:
在这里插入图片描述
在这里插入图片描述
数据可视化:
拿到了数据,其实我们还可以对数据进行可视化,这样方便观察数据的规律
TaoTao使用pyecharts简单的做了几个,仅供大家参考:
其实我们可以看到有重复数据。我看了一下评论区,其实是有人多刷的,就是说一个账号刷了多条同样的评论。我理解这些人可能是水军。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源码获取:关注“python小胡说”,回复“微博评论”既可获取源码!
希望大家可以动手实践,光说不练假把式!
由于TaoTao能力有限,在一些问题表述上难免有不准确的地方,还请多多包涵!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Open3D 从体素网格构建八叉树(14)

Open3D 从体素网格构建八叉树(14) 一、算法简介二、算法实现1.代码2.效果一、算法简介 上一章介绍从点云构建八叉树,对点云所在体素进行了可视化显示,这里可以对体素构建八叉树,可视化显示八叉树的具体划分结构。 二、算法实现 1.代码 代码如下(示例): import op…

【python】搭配Miniconda使用VSCode

现在的spyder总是运行出错,启动不了,尝试使用VSCode。 一、在VSCode中使用Miniconda管理的Python环境,可以按照以下步骤进行: a. 确保Miniconda环境已经安装并且正确配置。 b. 打开VSCode,安装Python扩展。 打开VS…

用通俗易懂的方式讲解:Stable Diffusion WebUI 从零基础到入门

本文主要介绍 Stable Diffusion WebUI 的实际操作方法,涵盖prompt推导、lora模型、vae模型和controlNet应用等内容,并给出了可操作的文生图、图生图实战示例。适合对Stable Diffusion感兴趣,但又对Stable Diffusion WebUI使用感到困惑的同学。…

GBASE南大通用提问:如果程序检索到 NULL 值,该怎么办?

可在数据库中存储 NULL 值,但编程语言支持的数据类型不识别 NULL 状态。程序必须 采用某种方式来识别 NULL 项,以免将它作为数据来处理。 在 SQL API 中,指示符变量满足此需要。指示符变量是与可能收到 NULL 项的主变量相 关联的一个附加的变…

深度学习笔记(五)——网络优化(1):学习率自调整、激活函数、损失函数、正则化

文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解,如有遗漏或错误,欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 通过学习已经掌握了主要的基础函数之后具备了搭建一个网络并使其正常运行的能力,那下一步我们还…

Linux环境之Ubuntu安装Docker流程

今天分享Linux环境之Ubuntu安装docker流程,Docker 是目前非常流行的容器,对其基本掌握很有必要。下面我们通过阿里云镜像的方式安装: 本来今天准备用清华大学镜像安装呢,好像有点问题,于是改成阿里云安装了。清华安装…

《矩阵分析》笔记

来源:【《矩阵分析》期末速成 主讲人:苑长(5小时冲上90)】https://www.bilibili.com/video/BV1A24y1p76q?vd_sourcec4e1c57e5b6ca4824f87e74170ffa64d 这学期考矩阵论,使用教材是《矩阵论简明教程》,因为没…

Linux———ps命令详解

目录 ps 命令("process status" 的缩写。) 常用选项和参数: a:显示所有用户的进程,包括其他用户的进程。​ u:显示详细的进程信息,包括进程的所有者、CPU 使用率、内存使用量等。…

【LabVIEW FPGA入门】模拟输入和模拟输出

1.简单模拟输入和输出测试 1.打开项目,在FPGA终端下面新建一个VI 2.本示例以模拟输入卡和模拟输出卡同时举例。 3.新建一个VI编写程序,同时将卡1的输出连接到卡2的输入使用物理连线。 4.编译并运行程序,观察是否能从通道中采集和输出信号。 5…

【天龙八部】攻略day6

关键字: 灵武、寻宝要求、雁门 1】灵武选择 西凉枫林,锦带,短匕 白溪湖,明镜,双刺 竹海,玉钩,锁甲 2】楼兰寻宝需求 等级80级,40级前6本心法 3】雁门奖励 简单35*4元佑碎金 普…

PyCharm连接服务器 - 1

文章目录 利用PyCharm实现远程开发使用认证代理连接服务器 利用PyCharm实现远程开发 【注】该连接服务器的方法适用于代码在服务器,我们是通过 GateWay 打开远程服务器的代码进行操作。 该功能只有在PyCharm专业版下才可以使用,并且必须是官方的正版许…

不方便拉网线,房间又没Wifi信号?按照这个教程,让你家里每个角落都有网

前言 前段时间去了一个朋友家里,她老是和我叨叨说她家的卧室一点Wifi信号都没有。每次一躺床上都只能用手机流量上网。 家里明明有拉宽带,为什么在某一些地方还是得用自己手机流量?哎,有钱人的痛就是房子太大了。 我问她为啥不多…

LeetCode264. 丑数 II(相关话题:多重指针动态规划)

题目描述 给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。 示例 1: 输入:n 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2&am…

MySQL数据库入门到大牛_高级_00_MySQL高级特性篇的内容简介

文章目录 一、整个MySQL的思维导图二、MySQL高级特性篇大纲1. MySQL架构篇2. 索引及调优篇3. 事务篇4. 日志与备份篇 一、整个MySQL的思维导图 下图为整个MySQL内容,01-05是基础篇,06-09是高级篇 二、MySQL高级特性篇大纲 MySQL高级特性分为4个篇章&…

鸿蒙开发现在就业前景怎样?

随着科技的不断进步,鸿蒙系统逐渐崭露头角,成为智能设备领域的一颗新星。作为华为自主研发的操作系统,鸿蒙系统拥有着广阔的市场前景和就业机会。那么,鸿蒙开发的就业前景究竟怎样呢? 一、市场需求持续增长 随着鸿蒙…

【Docker】Linux中Docker镜像结构及自定义镜像,并且上传仓库可提供使用

目录 一、镜像结构 1. 基本结构 2. 常用命令 二、自定义镜像 1. 基本镜像 2. 进阶镜像 3. 完善镜像 三、镜像上传仓库 每篇一获 一、镜像结构 自定义 Docker 镜像有很多用途,以下是一些主要的应用场景: 一致性环境:通过自定义镜像&a…

如何实现接口重试

重试机制 在复杂的接口业务中,API请求数量很多,并且业务处理复杂,便难免会遇到一些网络问题(timeout)或者未知错误(error),这时候需要加入重试机制了。让我们来回顾一下都有什么实现机制吧。 8种重试机制实现 1. 循环重试 这是最…

Hive命令行运行SQL将数据保存到本地如何去除日志信息

1.场景分析 先有需求需要查询hive数仓数据并将结果保存到本地,但是在操作过程中总会有日志信息和表头信息一起保存到本地,不符合业务需要,那如何才能解决该问题呢? 废话不多少,直接上代码介绍: 2.问题解决…

计算机毕业设计 | SpringBoot+vue的家庭理财 财务管理系统(附源码)

1,绪论 1.1 项目背景 网络的发展已经过去了七十多年,网络技术的发展,将会影响到人类的方方面面,网络的出现让各行各业都得到了极大的发展,为整个社会带来了巨大的生机。 现在许多的产业都与因特网息息相关&#xff…

从零开发短视频电商 PaddleOCR Java推理 (一)飞桨引擎推理

文章目录 简介方式一:DJL 飞浆引擎 飞桨模型方式二:ONNXRuntime 飞桨转换后的ONNX模型(Paddle2ONNX) 添加依赖文字识别OCR过程分析文字区域检测文字角度检测文字识别(裁减旋转后的文字区域) 高级替换模型…