【Python自学笔记】爬虫代理ip的配置以及使用

 

http://www.xicidaili.com/wn/

https://www.ipip.net/

在进行爬虫项目时,如果没有针对特定网站制定相应的爬虫策略,那么会很容易造成自己的ip被网站封锁。

下面使用Requests库进行代理ip的配置何使用,同时也包括了新建ip池列表的操作

# -*- coding: utf-8 -*-

import requests
# 随机选择一个代理
import random

# 生成代理IP池
proxy_list = [
    '106.75.226.36:808',
    '222.76.74.214:808',
    '123.185.81.64:8118'
]
# 随机从ip池中选出一个ip
proxy = random.choice(proxy_list)
# 打印出随机选择的代理ip
print(proxy)

E:\Anaconda3\python.exe F:/Workspace/PycharmProjects/Txsst.py
106.75.226.36:808

Process finished with exit code 0

 

# -*- coding: utf-8 -*-

import requests
# 随机选择一个代理
import random

# 生成代理IP池
proxy_list = [
    '106.75.226.36:808',
    '222.76.74.214:808',
    '123.185.81.64:8118'
]
# 随机从ip池中选出一个ip
proxy = random.choice(proxy_list)
# 打印出随机选择的代理ip
print(proxy)


proxies = {
    'http': 'http://' + proxy,
    'https': 'https://' + proxy,
}
# -----------------------------------------------------------------------------------
# 返回一个随机的请求头 headers
def getheaders():
    user_agent_list = [
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1" \
        "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", \
        "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", \
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", \
        "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", \
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", \
        "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
    ]
    UserAgent=random.choice(user_agent_list)
    headers = {'User-Agent': UserAgent}
    return headers
# ---------------------------------------------------------------------------------------
try:
    headers = getheaders() # 定制请求头
    print(headers)
    response = requests.get(
        'https://www.ipip.net',
        proxies=proxies,
        headers=headers,
        timeout = 5
    )
    print(response.text)
except requests.exceptions.ConnectionError as e:
    print('Error', e.args)

若其运行结果的 origin 也是代理的 IP,证明代理已经设置成功

E:\Anaconda3\python.exe F:/Workspace/PycharmProjects/Txsst.py
106.75.226.36:808
{'User-Agent': 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3'}
Error (MaxRetryError('HTTPSConnectionPool(host=\'www.ipip.net\', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, \'Unexpected EOF\')")))'),)

Process finished with exit code 0

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python爬虫代理IP代理是一种在使用Python爬虫时,通过使用代理IP来隐藏真实的IP地址,以防止被目标网站封禁或限制访问。这样可以有效地绕过网站的反爬取技术,并且可以实现高强度、高效率地爬取网页信息而不给网站服务器带来过大的压力。 为了实现代理IP代理,可以按照以下步骤进行操作: 1. 首先,需要获取稳定的代理IP列表。可以参考相关博客或网站,如《python爬虫设置代理ip池——方法(二)》,从中购买或获取代理IP。 2. 接下来,在Python代码中调用代理IP。可以使用以下代码获取代理IP列表并随机选择一个IP作为代理: ```python if __name__ == '__main__': url = 'http://www.xicidaili.com/nn/' ip_list = get_ip_list(url) proxies = get_random_ip(ip_list) print(proxies) ``` 其中,`get_ip_list()`函数用于获取代理IP列表,`get_random_ip()`函数用于从列表中随机选择一个IP作为代理。 通过以上步骤,就可以使用代理IP实现Python爬虫代理IP代理功能了。这样可以有效地绕过网站的反爬取技术,并且提高爬取效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python爬虫设置代理ip池——方法(一)](https://blog.csdn.net/weixin_40372371/article/details/80154707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值