打造自己的ip代理池

打造自己的ip代理池在爬虫时经常需要使用代理,于是我爬取了一个可以免费提供代理的网址,从中获取免费代理,从而打造属于一个自己的代理池。如图所示,这是网址的界面展示,我们需要做的就是需要其中的ip、port列中的数据,获取数据后需要我们拼接成一个完整的IP然后保存即可,代码如下:importrequestsfromlxmlimportetreeimportosurl=’https://www.kuaidaili.com/free/inha/3/’headers=…

大家好,又见面了,我是你们的朋友全栈君。

        在爬虫时经常需要使用代理,于是我爬取了一个可以免费提供代理的网址,从中获取免费代理,从而打造属于一个自己的代理池。

        如图所示,这是网址的界面展示,我们需要做的就是需要其中的ip、port列中的数据,获取数据后需要我们拼接成一个完整的IP然后保存即可,代码如下:

import requests
from lxml import etree
import os

url = 'https://www.kuaidaili.com/free/inha/3/'
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'
    }

content = requests.get(url,headers = headers).text
resonse = etree.HTML(content)
tr_list = resonse.xpath('//div[@id="list"]/table/tbody/tr')
#print(tr_list)
ip_list = []
for tr in tr_list:
    ip = tr.xpath('./td[1]/text()')
    port = tr.xpath('./td[2]/text()')
    proxy_ip = ip[0] +':' +  port[0]
    #print(proxy_ip)
    ip_list.append(proxy_ip)
print(ip_list)

        代码运行后获取到完整的ip数据,接下来我们就可以使用这些代理了,这里需要使用random来随机选择一个ip。

打造自己的ip代理池

 

proxy=random.choice(ip_list) #本地代理
proxies={
    'http':'http://'+proxy,
    'https':'https://'+proxy
}
try:
    response=requests.get('网址',proxies=proxies)
    print(response.text)
except requests.exceptions.ConnectionError as e:
    print('错误:',e.args)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138540.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月31日 上午10:00
下一篇 2022年5月31日 上午10:00


相关推荐

  • 基于卷积神经网络的人脸识别[通俗易懂]

    基于卷积神经网络的人脸识别[通俗易懂]基于卷积神经网络的人脸识别的实现利用opencv获取人脸,采集人脸数据,将收集到的人脸数据加载到内存,搭建属于自己的卷积神经网络,并用人脸数据训练自己的网络,将训练好的网络保存成模型,最后再用opencv获取实时人脸用先前训练好的模型来识别人脸。1.前言随着社会的不断进步以及各方面对于快速有效的自动身份验证的迫切要求,生物特征识别技术在近几十年得到了飞速的发展。作为人的一种内在属性,并且具有…

    2022年6月5日
    42
  • android 进度条 代码,Android 进度条使用详解及示例代码

    android 进度条 代码,Android 进度条使用详解及示例代码在这里 总结一下 loading 进度条的使用简单总结一下 一 说起进度条 必须说说条形进度条 经常都会使用到嘛 特别是下载文件进度等等 还有像腾讯安装进度条一样 有个进度总给人良好的用户体验 先来找图看看 做这个图完成不用图片就可以做到了 看下 xml 布局文件 其实就是直接用 xml 写的在加两个属性设置一下就好了 一个 style 另一个是 background android id id pb

    2026年3月18日
    2
  • C程序设计谭浩强第五版课后答案 第三章习题答案

    C程序设计谭浩强第五版课后答案 第三章习题答案C 语言程序设计谭浩强第五版课后答案第三章 1 假如我国国民生产总值的年增长率为 7 计算 10 年后我国国民生产总值与现在相比增长多少百分比 计算公式为 p 1 r np 1 r np 1 r n 其中 r 为年增长率 n 为年数 p 为与现在相比的倍数 题目解析 此题的关键主要是利用数学库 math 中 pow 函数进行计算 若不熟悉可以查阅帮助文档 查看 pow 函数的用法 代码示例 include stdio h include math h intmain math h stdio h

    2026年3月17日
    1
  • 卡内基-沟通的艺术

    卡内基-沟通的艺术

    2021年8月11日
    64
  • 完美解决安装MySQL Install/Remove of the Service Denied!错误解决办法

    完美解决安装MySQL Install/Remove of the Service Denied!错误解决办法

    2021年10月2日
    220
  • 关于数据库主键和外键(终于弄懂啦)

    关于数据库主键和外键(终于弄懂啦)转关于数据库主键和外键 终于弄懂啦 2018 年 07 月 16 日 19 44 24fp 阅读数 19385

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号