python 常见的反爬虫策略

yizhihongxing

针对Python常见的反爬虫策略,我列举以下几种:

一、headers反爬虫策略

在requests.get()或其他requests请求中,headers可以用于模拟浏览器向网站发送请求。因此,最基本的headers反爬虫策略是检测请求中的headers是否含有某些特定信息,例如User-Agent。如果请求中不包含正常浏览器的headers,很可能就会被网站拦截。

以下是一个示例,假设某网站通过检查headers中是否包含User-Agent来判断是否是反爬虫请求,我们可以将以下代码用于重构请求:

import requests

# 设置浏览器代理
headers = {
    'User-Agent':'Mozilla/5.0(Webkit)'
    }
url = 'http://example.com'
# 构建请求头,模拟真实浏览器
res = requests.get(url, headers=headers)
print(res.text)

二、cookie反爬虫策略

许多网站设置cookie用于识别用户身份,通常可以用来避免恶意爬虫。爬虫需要发送正常的访问历史,也就是访问页面之间需要保存cookie。如果cookie不正确或不完整,就可能被网站识别为爬虫。

以下是一个示例,某网站设置了验证码,当请求失败次数达到一定数量时就需要输入验证码,我们可以通过下面的代码来模拟验证过程:

import requests

# 获取验证码的链接
code_url = 'http://example.com/code'
# 请求验证码链接获取cookie
res1 = requests.get(code_url)
# 构建请求头,模拟真实浏览器
headers = {
    'User-Agent':'Mozilla/5.0(Webkit)',
    'Cookie':res1.cookies.get_dict()
    }
# 模拟登录请求
url = 'http://example.com/login'
data = {
    'username':'admin',
    'password':'123456'
    }
# 使用第一次请求获取的cookie进行登录请求
res2 = requests.post(url, headers=headers, data=data)
print(res2.text)

以上是两种较为常见的反爬虫策略及其应对方法。当然,随着技术的不断进步,越来越多的反爬虫策略不断出现,因此对反爬虫策略的应对需要不断探索和改进。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 常见的反爬虫策略 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 用Python的urllib库提交WEB表单

    下面是用Python的urllib库提交WEB表单的完整攻略: 1. 导入需要的模块 首先我们需要导入urllib库,同时如果需要传输数据的话,也需要使用到urlencode方法,因此可以通过以下代码进行导入: import urllib.request import urllib.parse 2. 构造表单数据 构造表单数据的方式很多,通常可以通过以下两种…

    python 2023年5月20日
    00
  • python 文件操作api(文件操作函数)

    下面是关于Python文件操作API(文件操作函数)的完整攻略: 文件操作函数概览 下面是Python中常用的文件操作函数: open():打开文件,创建一个文件对象 close():关闭文件 read():从文件读取数据 write():将数据写入文件 seek():移动文件指针 tell():返回文件指针的当前位置 flush():将缓冲区的数据写入文件…

    python 2023年6月2日
    00
  • crawler4j图片爬虫

    该实例主要演示下如何爬取指定网站的图片; 代码中有详细注释:   首先写一个ImageCrawler类:   package com.demo.imageCrawler4j; import java.io.File; import java.io.IOException; import java.util.UUID; import java.util.reg…

    爬虫 2023年4月8日
    00
  • 使用代理的爬虫

    信息源是搜狗微信,就爬到的数据保存到MySQL中   搜狗对微信公众号和文章做了整合,我们可以直接通过链接搜索到相关的公众号和文章   例如搜索NBA,搜索的结果的URL中有很多无关的GET请求的参数,手动将无关的请求参数去掉,其中只保留type和query,其中type表示的是搜索微信文章,query表示搜索关键词为NBA  https://weixin.…

    爬虫 2023年4月16日
    00
  • 在Python中用4d数组的系数评估x、y和z的笛卡尔乘积上的3-D切比雪夫级数

    下面是在Python中使用4d数组的系数评估x、y和z的笛卡尔乘积上的3-D切比雪夫级数的完整攻略。 背景知识 在计算机科学中,切比雪夫级数用于描述函数在区间上的收敛性。在三维情况下,切比雪夫级数被定义为: $${\displaystyle f_{n}(x,y,z)=\sum {k{1}=0}^{n}\sum {k{2}=0}^{n-k_{1}}\sum {…

    python-answer 2023年3月25日
    00
  • Python中的xlrd模块使用原理解析

    Python中的xlrd模块使用原理解析 xlrd是Python中一个用于读取Excel文件的第三方库,它可以读取Excel文件中的数据、格式和公式等信息。本文将详细讲解xlrd模块的使用原理,包括安装xlrd模块、打开Excel文件、读取Excel文件中的数据、格式和公式等信息。 安装xlrd模块 在使用xlrd模块之前,需要先安装它。可以使用pip命令来…

    python 2023年5月15日
    00
  • 从零开始搭建基于Python的微信小程序的教程分享

    搭建基于Python的微信小程序教程分享 背景 微信小程序已经成为移动应用的新趋势,而Python作为当前最流行的编程语言之一,一定程度上可以帮助开发人员更好地实现微信小程序的开发需求。本文旨在为想要通过Python打造自己的小程序的开发者提供一个指南。 准备工作 在开始搭建Python微信小程序前,需要准备以下的工具和环境: 微信小程序开发者工具 Pyth…

    python 2023年5月23日
    00
  • linux修改tomcat默认访问项目的具体步骤(必看篇)

    下面是详细讲解“Linux修改Tomcat默认访问项目的具体步骤”的攻略: 1. 查找Tomcat的配置文件 在Linux中,默认安装路径下Tomcat的配置文件位于/etc/tomcat目录下。在该目录下,有一个名为server.xml的文件,为Tomcat的主配置文件。 2. 修改Tomcat的配置文件 打开server.xml文件并查找<Host…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部