当前位置:   article > 正文

失败了n次以后,我总结了5种Python爬虫伪装技巧!_python爬虫伪装成浏览器

python爬虫伪装成浏览器

大家好,我是程序员晓晓,今天给大家聊一聊爬虫。

爬虫伪装的最高境界就是用代码模拟人的真实操作,因为网站设计出来就是为了让别人访问的,掌握爬虫的伪装技巧,能够让大大提高我们爬虫的成功率。

结合自身的经验,给大家介绍5种爬虫伪装的技巧,并把代码模板奉上,希望能够对你有所帮助。

1.浏览器伪装

因为网站服务器能够很轻易的识别出访问的来源浏览器,以requests请求为例,默认header头数据中没有浏览器信息,在与浏览器交互时简直就是“裸奔”,所以我们可以加入“User-Agent”信息伪装成真实浏览器,代码如下:

import requests   
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'}  #模拟成火狐浏览器  
response = requests.get("http://www.baidu.com",headers=headers)  #模拟请求url  

  • 1
  • 2
  • 3
  • 4

2.访问地址伪装

访问地址指的是headers头部中的reffer信息,那么它有什么作用呢?举个例子解释一下:

我在https://bj.meituan.com/里有一个https://waimai.meituan.com/链接,那么点击这个https://waimai.meituan.com/,它的header信息里就有:Referer=https://bj.meituan.com/

那么可以利用这个来防止盗链,比如我只允许我自己的网站访问我自己的图片服务器

我们可以加入“reffer”信息伪装访问地址,代码如下:

import requests   
headers={  
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',  
    'reffer':'https://bj.meituan.com/'}  
response = requests.get("https://waimai.meituan.com/",headers=headers)  #模拟请求url  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.ip地址伪装

对于网络中的反爬虫策略来说,大多数都是根据单个IP的行为来判断是不是网络爬虫的,例如,反爬虫检测到某个IP的访问次数很多,或者是访问的频率很快,就会封禁这个IP。这时我们就要选择代理IP来突破反爬虫的机制,更稳定的及逆行数据的爬取。python添加代理IP的代码如下:

import requests   
proxies={'https':'101.236.54.97:8866'}   
headers={  
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',  
    'reffer':'https://bj.meituan.com/'}  
response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies)  #模拟请求url  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

代理IP可以自己去网上找免费的,但不太稳定,也可去花钱买一些比较稳定的。

4.伪装访问速率

真实用户的访问次数以及访问规律是很稳定的,并不会多次的访问,所以我们要伪装成真实的用户来爬取数据,这样反爬虫机制就不会察觉,可以采用控制访问频率的方式,主要是随机设置访问时间,代码如下:

import requests   
import time,random  
proxies={'https':'101.236.54.97:8866'}   
headers={  
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',  
    'reffer':'https://bj.meituan.com/'}  
for i in range(10):  
    response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies)  #模拟请求url  
    time.sleep(random.uniform(1.1,5.4))  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

5.伪装用户真实信息

有些网页是需要登录后才会显示数据,而cookie值会携带个人的登录信息,在爬虫中加入cookie值就能避免登录的麻烦,例如知乎、京东等网站,加入方法如下:

import requests   
proxies={'https':'101.236.54.97:8866'}   
headers={  
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0',  
    'reffer':'https://bj.meituan.com/'}  
cookies=''  
response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies,,cookies=cookies)  #模拟请求url  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如果大家还有其他的爬虫伪装方式,欢迎在评论区留言交流!

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述
若有侵权,请联系删除
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/716101
推荐阅读
相关标签
  

闽ICP备14008679号