最详细爬虫零基础教程12——某网评论爬取教程

文章目录

  • 前言
  • 一、单页爬取
  • 二、翻页案例


前言

本文我们主要是讲述一个某网站评论爬取的案例


一、单页爬取

目标url:https://ke.qq.com/course/380991/12573838881968191?tuin=7265bf35#term_id=100454125

import jsonpath
import requestsif __name__ == '__main__':# 1.确认代理urlurl_ = 'https://ke.qq.com/cgi-bin/comment_new/course_comment_list?cid=380991&filter_rating=0&page=0&bkn=&r=0.9592'# 2.用户代理headers_ = {# 添加跳转referer'Referer': 'https://ke.qq.com/course/380991/12573838881968191?tuin=7265bf35','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}response_ = requests.get(url_, headers=headers_)py_data = response_.json()# print(py_data)# 3.解析数据name_list = jsonpath.jsonpath(py_data, '$..nick_name')print(name_list)comment_list = jsonpath.jsonpath(py_data, '$..first_comment')print(comment_list)for i in range(len(name_list)):dict_ = {}dict_[name_list[i]] = comment_list[i]print(dict_)

报错处理:{“msg”:“refer错误”,“type”:1,“retcode”:100101}

解决:referer错误,是一个新的反爬点,只要加上一个referer跳转就可以成功访问

二、翻页案例

我们获取数据的时候,一般一次性会需要的到大量的数据,但是一页一页的爬取效率就会极其低下,这就引发了另一种思考,我们是否可以利用代码来实现评论的翻页呢?

import jsonpath
import requests
import time
import jsonif __name__ == '__main__':with open('腾讯评论.json','w') as f:dict_list = []for page in range(2):# 1.确认代理urlurl_ = f'https://ke.qq.com/cgi-bin/comment_new/course_comment_list?cid=380991&filter_rating=0&page={page}&bkn=&r=0.9592'# 2.用户代理headers_ = {# 添加跳转referer'Referer': 'https://ke.qq.com/course/380991/12573838881968191?tuin=7265bf35','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}response_ = requests.get(url_,headers=headers_)py_data = response_.json()# print(py_data)# 3.解析数据name_list = jsonpath.jsonpath(py_data,'$..nick_name')# print(name_list)comment_list = jsonpath.jsonpath(py_data, '$..first_comment')# print(comment_list)for i in zip(name_list,comment_list):dict_data = {'姓名': i[0],'内容': i[1]}dict_list.append(dict_data)print(f'第{page+1}页打印完成,休息一下~')time.sleep(2)json_data = json.dumps(dict_list,ensure_ascii=False)f.write(json_data)

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

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

相关文章

HCIP杂记

动态路由的评判标准 占用资源收敛速度选路 动态路由分类: IGP---内部网关协议 DV型---距离矢量型---RIPLS型---链路状态型---OSPFEGP---外部网关协议 OSPF---无类别的路由协议 组播224.0.0.5和224.0.0.6不存在周期更新机制,仅存在触发更新机制&#xff1…

Elasticsearch如何处理多个关键字查询

Elasticsearch (ES) 是一款强大的全文搜索和分析引擎。当针对Elasticsearch进行含有多个关键字的查询时,ES通常会使用其内置的查询DSL(Domain Specific Language)来处理这些请求。一般来讲,基于多个关键字,可以构建不同…

第十五届蓝桥杯第三期模拟赛第十题 ← 上楼梯

【问题描述】 小蓝要上一个楼梯,楼梯共有 n 级台阶(即小蓝总共要走 n 级)。小蓝每一步可以走 a 级、b 级或 c 级台阶。 请问小蓝总共有多少种方案能正好走到楼梯顶端?【输入格式】 输入的第一行包含一个整数 n 。 第二行包含三个整…

vulfocus环境搭建(kali搭建)

Vulfocus 是一个漏洞集成平台,将漏洞环境 docker 镜像,放入即可使用,开箱即用。 安装docker环境 个人不建议随意更换apt源,我换了几次遇到很多问题。 apt-get update apt-get upgrade(时间很久) apt-get i…

基于springboot的人事管理系统

人事管理系统 摘 要 人事管理系统理工作是一种繁琐的,务求准确迅速的信息检索工作。随着计算机信息技术的飞速发展,人类进入信息时代,社会的竞争越来越激烈,人事就越显示出其不可或缺性,成为学校一个非常重要的模块。…

小米汽车发布了

文章目录 1. 内容回顾2. 发布概要3. 畅想未来 1. 内容回顾 从小米宣布造车开始我就关注了,当时写过相关的文章来分析,这还是三年以前的事情,当时我是不看好小米造车的。 时光飞逝,在三月前,小米发布了它制造的第一台…

防止恶意软件和网络攻击的简单贴士

如今,缺少互联网的生活是难以想象的。然而,互联网的匿名性导致了网络攻击和恶意软件很猖獗。恶意软件会损坏我们的设备、窃取个人数据,并导致金钱损失。因此,保护计算机免受这些威胁显得至关重要。 一、确保操作系统和软件是最新版…

企业数据资产管理的战略价值与实施策略

一、引言 数据资产不仅记录了企业的历史运营情况,更能够揭示市场的未来趋势,为企业的决策提供有力支持。因此,如何有效地管理和利用数据资产,已经成为企业竞争力的重要体现。本文将探讨企业数据资产管理的战略价值与实施策略&…

URL编码:原理、应用与安全性

title: URL编码:原理、应用与安全性 date: 2024/3/29 18:32:42 updated: 2024/3/29 18:32:42 tags: URL编码百分号编码特殊字符处理网络安全应用场景标准演变未来发展 在网络世界中,URL(统一资源定位符)是我们访问网页、发送请求…

设计模式之单例模式精讲

UML图: 静态私有变量(即常量)保存单例对象,防止使用过程中重新赋值,破坏单例。私有化构造方法,防止外部创建新的对象,破坏单例。静态公共getInstance方法,作为唯一获取单例对象的入口…

爬虫第5课:POST请求

下面这段代码是一个简单的Python脚本,用于从Python之禅(一个Python中文技术博客)网站进行搜索查询,并输出搜索结果。以下是对这段代码的详细解释: 导入所需的库: urlopen 和 Request 是从 urllib.request 模…

速通汇编(二)汇编mov、addsub指令

一,mov指令 mov指令的全称是move,从字面上去理解,作用是移动(比较确切的说是复制)数据,mov指令可以有以下几种形式 无论哪种形式,都是把右边的值移动到左边 mov 寄存器,数据&#…

低代码助力企业打造业务管理云平台

随着数字化转型的不断深入,越来越多的企业开始寻求通过构建业务管理云平台来提升运营效率、降低成本并增强市场竞争力。在这个过程中,低代码平台正逐渐成为一种革命性的技术工具,以其高效、灵活的特点助力企业快速搭建和管理云平台。 低代码平…

AI 创新领跑者,KIP Protocol 如何理解 Decentralized AI

随着 OpenAI 的 Sora 推动 AI 赛道的热度攀升,AI 领域再次成为科技和投资界的焦点。KIP Protocol 是面向 AI 模型制作者、App 开发者和数据所有者构建的去中心化 Web3 协议层,使数据可在 Web3 中安全地进行交易和货币化。KIP Protocol 由 Animoca Ventur…

Jenkins实现CICD

Jenkins实现CICD JenkinsCI简介环境安装新建任务源码管理构建配置发送邮件配置自动化项目定时构建 JenkinsCD简介配置ssh保证其可以免登录接下来配置github的webhook正式实现自动化打包master主分支的代码将前端三剑客代码文件发送到网站服务器对应的tomcat Jenkins面试题 Jenk…

个人简历主页搭建系列-04:网站初搭建

准备工作差不多了,该开始搭建网站了! 这次我们先把网站搭建部署起来,关于后续主题内容等更换留到后续。 创建源码文件夹 首先通过 hexo 创建本地源码文件夹。因为最终部署的 github 仓库格式为 websiteName.github.io(websiteN…

Gartner发布新兴技术指南:生成式人工智能和深度伪造对身份验证的影响

使用生成式人工智能(GenAI)技术生成的 Deepfakes(深度伪造) 对身份验证的完整性构成了根本威胁。身份验证产品领导者必须了解这一新兴威胁,并采取积极主动的方法来区分和保护其解决方案产品。 主要发现 活体检测技术对于防御深度伪造以及在身…

【每日力扣】332. 重新安排行程与51. N 皇后

🔥 个人主页: 黑洞晓威 😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害。 332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你…

代码随想录算法训练营 DAY 24 | 回溯理论基础 77.组合 + 剪枝优化

回溯理论 回溯法就是递归函数,纯暴力搜索 解决的问题 组合(无顺序) 1 2 3 4 给出大小为2的所有组合 切割字符串 子集问题 1 2 3 4,子集有1 2 3 4,12,13,14,…123 124… 排列(有顺序) 棋盘…

wpf 自定义命令

自定义命令 MyCommand.cs public class MyCommand : ICommand {private readonly Action<Object> execAction;private readonly Func<Object,bool> changedFunc;public event EventHandler? CanExecuteChanged;public MyCommand(Action<object> execAction…