爬取《流浪地球》过程中遇到的反爬虫

2024-03-19 08:59

本文主要是介绍爬取《流浪地球》过程中遇到的反爬虫,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两天写了一个爬虫,爬取豆瓣中《流浪地球》的影评,并分析这些影评。这篇文章我不讲如何爬取的,来说一说我在爬取的过程中遇到的反爬虫。

必要的请求头的字段

对于上面的每一个请求字段,把必要的加在请求头上,比如:referer,user-agent等。

 用户登陆问题

刚开始,我认为豆瓣不需要登陆就能看到所有的评论,但是,在实际的操作过程中,如果你不登陆豆瓣网,那么每一页第10个影评你点击去必定是下面这样的:

 会出现一个登陆界面,让你登陆。然后我就用自己的微信登陆,然后又把cookie加在了请求头里,我认为这样总该可以了吧!结果(并不是自己所以为的样子)

并不是每个影评的前端样式都一样

 当我把自己登陆的cookie放到请求头里,我心想这次总该可以了吧。但是,爬到第二页就出了问题,我认为每一页的评论的前端样式都应该是一样的,豆瓣这个网站就是让你难受,我本来是想爬取用户的评分的,在第二页中,居然有用户没有评分,导致我的爬虫找不到那个节点,从而报错!!!!

 

然后我采用if条件过滤掉这种情况,我的爬虫才正常运行。可是又出问题了!!!

IP访问频率太高,把我的账号给封了

 在我认为万事大吉的时候,意外又出现了,刚爬取一千多条数据,结果豆瓣因为我的爬虫访问频率太高,把我的账号都给封了,结果也爬不了了,然后我也不知道怎么办了(高手可以给小弟指点一二!!!)

总结

总而言之,这次爬取还是有收获的,知道了这些反爬虫的措施,下次在遇到自己心里就有信息来处理了。还有就是书上讲的毕竟是理论,并不是实际运行的效果,实践出真知,这句话一点没错,我们从实践中知道了自己掌握不好的地方,这条道路还长,继续努力!!!

这篇关于爬取《流浪地球》过程中遇到的反爬虫的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825461

相关文章

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

MybatisPlus3.3.1整合clickhouse的过程

《MybatisPlus3.3.1整合clickhouse的过程》:本文主要介绍MybatisPlus3.3.1整合clickhouse的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定... 前言ClickHouse是俄罗斯Yandex发布的一款数据分析型数据库支持sql语法,详情可以访问官网,

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1