Python 爬虫(一):爬虫伪装

这篇具有很好参考价值的文章主要介绍了Python 爬虫(一):爬虫伪装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 简介

对于一些有一定规模或盈利性质比较强的网站,几乎都会做一些防爬措施,防爬措施一般来说有两种:一种是做身份验证,直接把虫子挡在了门口,另一种是在网站设置各种反爬机制,让虫子知难而返。

2 伪装策略

我们知道即使是一些规模很小的网站通常也会对来访者的身份做一下检查,如验证请求 Headers,而对于那些上了一定规模的网站就更不用说了。因此,为了让我们的爬虫能够成功爬取所需数据信息,我们需要让爬虫进行伪装,简单来说就是让爬虫的行为变得像普通用户访问一样。

2.1 Request Headers 问题

为了演示我使用百度搜索 163 邮箱

Python 爬虫(一):爬虫伪装

使用 F12 工具看一下请求信息

Python 爬虫(一):爬虫伪装

在上图中,我们可以看到 Request Headers 中包含 Referer 和 User-Agent 两个属性信息,Referer 的作用是告诉服务器该网页是从哪个页面链接过来的,User-Agent 中文是用户代理,它是一个特殊字符串头,作用是让服务器能够识别用户使用的操作系统、CPU 类型、浏览器等信息。通常的处理策略是:1)对于要检查 Referer 的网站就加上;2)对于每个 request 都添加 User-Agent。

2.2 IP 限制问题

有时我们可能会对一些网站进行长期或大规模的爬取,而我们在爬取时基本不会变换 IP,有的网站可能会监控一个 IP 的访问频率和次数,一但超过这个阈值,就可能认作是爬虫,从而对其进行了屏蔽,对于这种情况,我们要采取间歇性访问的策略。

通常我们爬取是不会变换 IP 的,但有时可能会有一些特殊情况,要长时间不间断对某网站进行爬取,这时我们就可能需要采用 IP 代理的方式,但这种方式一般会增加我们开销,也就是可能要多花钱。

3 总结

有些时候我们进行爬取时 Request Headers 什么的已经做好了伪装,却并未得到如愿以偿的结果,可能会出现如下几种情况:得到的信息不完整、得到不相关的信息、得不到信息,这种情况我们就需要研究网站的防爬机制,对其进行详细分析了。常见的几种我列一下:

1)不规则信息:网址上会有一些没有规则的一长串信息,这种情况通常采用 selenium(模拟浏览器,效率会低一些) 解决;2)动态校验码:比如根据时间及一些其他自定义规则生成,这种情况我们就需要找到其规则进行破解了;3)动态交互:需要与页面进行交互才能通过验证,可以采用 selenium 解决;4)分批次异步加载:这种情况获取的信息可能不完整,可以采用 selenium 解决。文章来源地址https://www.toymoban.com/news/detail-447575.html

到了这里,关于Python 爬虫(一):爬虫伪装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫学习笔记(二)————爬虫简介

    目录 1.爬虫概念 2.爬虫核心 3.爬虫分类  通用爬虫 聚焦爬虫 4.反爬手段 (1)User‐Agent (2)代理IP (3)验证码访问 (4)动态加载网页 (5)数据加密 1.爬虫概念 通过一个程序,根据Url(http://www.taobao.com)进行爬取网页,获取有用信息。 使用程序模拟浏览器,去向服务器发送

    2024年02月15日
    浏览(31)
  • 对于监控选型的一些思考

    监控的选型: 1.首先是拉模式(例如prometheus)和推模式: 拉可以随意控制拉取频率和指标,可大可小,推的话收集者可以下发改变推频率的指令,实现比较麻烦;拉失败快速知道客户端节点agent监控异常,推的话只能看哪个节点没上报比较麻烦; 拉模式下客户端agent只需要读

    2024年02月11日
    浏览(30)
  • 爬虫入门指南(6):反爬虫与高级技巧:IP代理、User-Agent伪装、Cookie绕过登录验证及验证码识别工具

    随着互联网发展,网站数据变得越来越重要。然而,为了保护其数据的安全性和唯一性,网站通常会采取反爬虫措施。本篇博客将介绍一些常见的反爬虫技巧,并提供代码案例和相关知识点,帮助您更好地应对反爬虫问题。 当我们使用爬虫程序频繁发送请求到同一个网站时,

    2024年02月12日
    浏览(37)
  • python - 爬虫简介

    什么是爬虫? 模拟浏览器对网站服务器发送请求 解析服务器返回的响应数据,并保存数据 爬虫能获取哪些数据? 原则上所有可以通过浏览器获取的数据都可以爬取 爬虫也只能获取爬取浏览器可以正常获取的数据 爬虫的应用场景? 数据分析 (如电影票房、股票信息、商品销

    2024年02月13日
    浏览(25)
  • Python爬虫整理一 关于HTTP与HTTPS协议的一些内容

    一.HTTP协议 HTTP协议是一个应用层面向对象协议,也叫超文本传输协议,是基于TCP协议的可靠传输,采用客户端/服务器端模式,指定了客户端可能发送给服务器什么样的消息,以及服务端给出什么样的响应 二.HTTP协议的主要组成 HTTP协议组成主要包括请求、响应、协议规范、安

    2024年01月21日
    浏览(35)
  • 对于xshell连接不上虚拟机的一些解答

    如果你发现你可以在虚拟机内ping通 之后,在你电脑dos下也可以ping通。 然而,还是发现你的xshell连接不上虚拟机。 这里使用ifconfig   我发现这个地址是在变化的,之前是129,现在是131,所以这样再到xshell,在连接属性那里,把地址改了就可以了,再重新连接,OK了。   本文

    2024年02月07日
    浏览(28)
  • 【爬虫系统设计系列】好的爬虫系统一定要这样去设计告警功能

    【作者主页】: 吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建

    2024年02月05日
    浏览(29)
  • 对于零基础小白来说,转行学云计算和java哪个更好一些?求推荐

    对于零基础小白来说,转行学云计算和java哪个更好一些? 云计算和Java是两个不同的技术领域,虽然它们都与计算机网络、分布式系统和互联网应用程序等相关,但它们的学习重点和应用场景也不同。虽然他们都是非常有前途的IT领域,但对于零基础的小白来说,选择学习云

    2024年02月11日
    浏览(33)
  • 微信小程序只支持https请求,如何解决对于一些接口是http请求的?

    微信小程序支持使用 wx.request() 发起 HTTPS 网络请求。 如果后台接口是 HTTP 协议,则需要您在服务端做一个转发,将 HTTPS 请求转发到 HTTP 接口上。这样,就可以在微信小程序中使用 HTTPS 协议访问 HTTP 接口了。 例如,可以在服务端使用 Node.js 做一个简单的转发: 然后,在微信

    2024年02月12日
    浏览(35)
  • 大规模网络爬虫系统架构设计 - 云计算和Docker部署

    在大规模网络爬虫系统中,合理的架构设计和高效的部署方式是确保系统稳定性和可扩展性的关键。本文将介绍如何利用云计算和Docker技术进行大规模网络爬虫系统的架构设计和部署,帮助你构建高效、可靠的爬虫系统。 1、架构设计原则 在设计大规模网络爬虫系统的架构时

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包