04_两种常见的网页反爬措施及应对方法

一、封禁IP地址反爬

1、应对思路:

  • 理解这种反爬方法的含义:当我们用自己电脑的ip地址短时间,高频率访问某个具有此类反爬设置的网站,这种网站就会把我们的ip地址封禁,一般都是封24小时或者其他时间。
  • 解决方案:通过代理ip访问,这种方式只不过就是让你有了重新访问网页的ip地址,但是依然没法避免高频访问之后的封禁,同时这种ip都是有时效性的,当然使用也是付费的,不过学习使用的话,注册之后,送的次数或者积分足够我们了解整个代理ip的使用方法了。

2、(插入知识)如何使用代理ip:

  • 通过我们自己电脑的ip访问网页属于直接访问,而通过代理ip访问,就属于简介访问了。
  • 第一步注册:其实有很多这种代理ip的公司,我这边使用的是 芝麻代理
  • 获取代理ip的接口

在这里插入图片描述
点击生成api链接:
在这里插入图片描述

  • 示例代码:
# 1.从API接口提取IP
import requests
import json

# 这里的API_URL 就是从代理ip网站生成的
API_URL = 'http://webapi.http.zhimacangku.com/getip?num=1&type=2&pro=&city=0&yys=0&port=1&pack=284703&ts=0&ys=0&cs=0&lb=1&sb=0&pb=45&mr=1&regions='
# 代理IP服务商不要求我们伪装爬虫
response = requests.get(url=API_URL)
ApiDict = json.loads(response.text)
print(ApiDict)

# 2.构造代理IP
IP = ApiDict['data'][0]['ip']
Port = ApiDict['data'][0]['port']
Proxy = {
   
    
    
    'http': f'http://{
     
      
      IP}:{
     
      
      Port}',
    'https': f'http://{
     
      
      IP}:{
     
      
      Port}'
}
# 构造这个代理IP的字典的作用:市面上大部分代理IP走的协议为http协议,
# 但是很多网站已经是https协议,构造这个字典的作用,不管是http还是https协议的网站,
# 统统使用http协议的代理IP
print(Proxy)

# 3.使用代理IP访问豆瓣网站
URL = 'https://movie.douban.com/top250?start=0&filter='
Headers = {
   
    
    
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
}
# 注意使用Headers 是为了伪装正常访问,也要注意User-Agent是通用的(用谁的都行)
response = requests.get(url=URL, headers=Headers, proxies=Proxy)
if response.status_code == 200:
    print

猜你喜欢

转载自blog.csdn.net/sz1125218970/article/details/131088552
今日推荐