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

2024-03-19 08:59

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

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

必要的请求头的字段

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

 用户登陆问题

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

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

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

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

 

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

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

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

总结

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

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



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

相关文章

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2