爬虫反爬之代理IP

爬虫反爬之代理IP

代理IP其实本就是在requests模块中的参数

定义: 代替原来的IP地址去对接网络的IP地址。
作用: 隐藏自身真实IP,避免被封。

代理原理

  • 获取代理IP网站

    西刺代理、快代理、全网代理、代理精灵。。。

  • 参数

    proxies

  • 参数类型

    1、语法结构
    proxies = {
    '协议':'协议://IP:端口号'
    }
    2、示例
    proxies = {
    'http':'http://IP:端口号',
    'https':'https://IP:端口号'
    }
    
  1. 使用免费普通代理IP访问测试网站: http://httpbin.org/get
import requests
url = 'http://httpbin.org/get'
headers = {
'User-Agent':'Mozilla/5.0'
}
# 定义代理,在代理IP网站中查找免费代理IP
proxies = {
'http':'http://115.171.85.221:9000',
'https':'https://115.171.85.221:9000'
}
html = requests.get(url,proxies=proxies,headers=headers,timeout=5).text
print(html)
  1. 私密代理

    proxies = {
    '协议':'协议://用户名:密码@IP:端口号'
    }
    
    proxies = {
    'http':'http://用户名:密码@IP:端口号',
    'https':'https://用户名:密码@IP:端口号'
    }
    

    由于资金有限,不能购买10块钱的巨额代理,瞎编用户名及密码,仅仅示例而已

    import requests
    url = 'http://httpbin.org/get'
    proxies = {
    'http': 'http://xxxxxxx:xxxxxxx@122.114.67.136:16819',
    'https':'https://xxxxxxx:xxxxxxx@122.114.67.136:16819',
    }
    headers = {
    'User-Agent' : 'Mozilla/5.0',
    }
    html = requests.get(url,proxies=proxies,headers=headers,timeout=5).text
    print(html)
    

当然,穷人有穷人的做法,可以在代理平台上使用爬虫爬取代理IP,然后持续更新即可

posted @ 2019-09-07 09:34  ChanceySolo  阅读(359)  评论(0编辑  收藏  举报