Python爬虫反爬方法

Posted 向阳-Y.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫反爬方法相关的知识,希望对你有一定的参考价值。

Response后面带有的状态码:

· 2开头表示访问正常
· 4开头,比如403表示爬虫被网站封锁
· 5开头表示服务器出问题

本篇文章主要讲当遇到返回值出现403解决方法:
例如:

import requests
url='http://www.dianping.com/shanghai/hotel/p1'
resp=requests.get(url)
resp

反爬方法:

requests.get(url,headers,cookies,params,proxies)

1.伪装请求头headers
2.加cookies
3.headers中加referer
4.使用代理IP,手机热点和付费代理,付费代理比如阿布云
5.限制访问速度time.sleeo(1)

1.伪装请求头headers

打开目标网站——F12进入开发者工具——Network——随便打开一个加载出的文件——找到Request Headers下的User-Agent:并复制到代码的headers

改进后的爬虫:

import requests
url='http://www.dianping.com/shanghai/hotel/p1'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/63.0.3239.26 Safari/537.36'}   //在开发者工具中寻找headers参数,并整理成字典格式
resp=requests.get(url,headers=headers)
resp

恢复正常值:

以上是关于Python爬虫反爬方法的主要内容,如果未能解决你的问题,请参考以下文章

爬虫反爬:JS逆向实战2

Python爬虫反爬方法

python爬虫零基础入门——反爬的简单说明

Python爬虫进阶 | 某音字体反爬分析

Python爬虫入门教程 64-100 反爬教科书级别的网站-汽车之家,字体反爬之二

最网最全python框架--scrapy(体系学习,爬取全站校花图片),学完显著提高爬虫能力(附源代码),突破各种反爬