返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现采集网站ip代理并检测是否可用
  • 391
分享到

Python实现采集网站ip代理并检测是否可用

2024-04-02 19:04:59 391人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录开发环境模块使用代理ip结构代码实现步骤1. 导入模块2. 发送请求3. 获取数据4. 解析数据5. 检测ip质量开发环境 python 3.8 PyCharm 模块使用 req

开发环境

python 3.8

PyCharm

模块使用

requests >>> pip install requests

parsel >>> pip install parsel

代理ip结构

proxies_dict = {
    "Http": "http://" + ip:端口,
    "https": "http://" + ip:端口,
}

代码实现步骤

1. 导入模块

# 导入数据请求模块
import requests  # 数据请求模块 第三方模块 pip install requests
# 导入 正则表达式模块
import re  # 内置模块
# 导入数据解析模块
import parsel  # 数据解析模块 第三方模块 pip install parsel  >>> 这个是scrapy框架核心组件

2. 发送请求

对于目标网址发送请求 https://www.kuaidaili.com/free/

url = f'https://www.kuaidaili.com/free/inha/{page}/'  # 确定请求url地址
# 用requests模块里面get 方法 对于url地址发送请求, 最后用response变量接收返回数据
response = requests.get(url)

3. 获取数据

获取服务器返回响应数据(网页源代码)

print(response.text)

4. 解析数据

提取我们想要的数据内容

解析数据方式方法:

  • 正则: 可以直接提取字符串数据内容
  • xpath: 根据标签节点 提取数据内容
  • CSS选择器: 根据标签属性提取数据内容

哪一种方面用那种, 那是喜欢用那种

正则表达式提取数据内容

正则提取数据 re.findall() 调用模块里面的方法

正则 遇事不决 .*? 可以匹配任意字符(除了换行符\n以外) re.S

ip_list = re.findall('<td data-title="IP">(.*?)</td>', response.text, re.S)
port_list = re.findall('<td data-title="PORT">(.*?)</td>', response.text, re.S)
print(ip_list)
print(port_list)

css选择器

css选择器提取数据 需要把获取下来html字符串数据(response.text) 进行转换

# #list > table > tbody > tr > td:nth-child(1)
# //*[@id="list"]/table/tbody/tr/td[1]
selector = parsel.Selector(response.text) # 把html 字符串数据转成 selector 对象
ip_list = selector.css('#list tbody tr td:nth-child(1)::text').getall()
port_list = selector.css('#list tbody tr td:nth-child(2)::text').getall()
print(ip_list)
print(port_list)

xpath 提取数据

selector = parsel.Selector(response.text) # 把html 字符串数据转成 selector 对象
ip_list = selector.xpath('//*[@id="list"]/table/tbody/tr/td[1]/text()').getall()
port_list = selector.xpath('//*[@id="list"]/table/tbody/tr/td[2]/text()').getall()

提取ip

for ip, port in zip(ip_list, port_list):
    # print(ip, port)
    proxy = ip + ':' + port
    proxies_dict = {
        "http": "http://" + proxy,
        "https": "http://" + proxy,
    }
    print(proxies_dict)

5. 检测ip质量

try:
    response = requests.get(url=url, proxies=proxies_dict, timeout=1)
    if response.status_code == 200:
        print('当前代理IP: ', proxies_dict,  '可以使用')
        lis_1.append(proxies_dict)
except:
    print('当前代理IP: ', proxies_dict,  '请求超时, 检测不合格')


print('获取的代理IP数量: ', len(lis))
print('获取可用的IP代理数量: ', len(lis_1))
print('获取可用的IP代理: ', lis_1)

总共爬取了150个,最后测试出只有一个是能用的,所以还是付费的好

到此这篇关于Python实现采集网站ip代理并检测是否可用的文章就介绍到这了,更多相关Python采集网站ip代理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现采集网站ip代理并检测是否可用

本文链接: https://lsjlt.com/news/163373.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现采集网站ip代理并检测是否可用
    目录开发环境模块使用代理ip结构代码实现步骤1. 导入模块2. 发送请求3. 获取数据4. 解析数据5. 检测ip质量开发环境 Python 3.8 Pycharm 模块使用 req...
    99+
    2024-04-02
  • 如何检测http代理ip是否可用
    这篇文章主要介绍如何检测http代理ip是否可用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、测试数量为了测试,样品不能太小。如果只有十几次测试,就不能轻易得出结论。像太阳IP就提供5000IP供测试,足够用户了...
    99+
    2023-06-20
  • olang批量测试socks5代理ip是否可以访问网站,并打印真实ip
    首先我们可以登陆IP代理网站,提取ipGolang批量测试socks5代理IP是否可以访问网站,并打印真实ip将提取的ip进行复制给常量MyS5ip用来测试Golang批量测试socks5代理IP是否可以访问网站,并打印真实ip开始检测Go...
    99+
    2023-06-04
  • Python实现IP代理批量采集的示例代码
    目录开发环境 模块使用 基本流程(思路)一. 数据来源分析二. 代码实现步骤过程代码开发环境  python 3.8 pycharm 模块使用 ...
    99+
    2024-04-02
  • 怎么用vbs实现自动检查代理是否可用
    本篇内容介绍了“怎么用vbs实现自动检查代理是否可用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!将下面代码中的地址改一下,存为ieprox...
    99+
    2023-06-08
  • 如何使用python爬虫采集网站时ip被封的处理
    这篇文章给大家分享的是有关如何使用python爬虫采集网站时ip被封的处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本...
    99+
    2023-06-14
  • python爬取免费代理并验证代理是否可用
    分享一个python脚本,使用代理ip来访问网页,方便抓取数据什么的~并自动验证ip是否可以用 什么情况下会用到代理IP?比如你要抓取一个网站数据,该网站有100万条内容,他们做了I...
    99+
    2024-04-02
  • python如何爬取免费代理并验证代理是否可用
    python如何爬取免费代理并验证代理是否可用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。分享一个python脚本,使用代理ip来访问网页,方便抓取数据什么的~并自动验证...
    99+
    2023-06-26
  • Python 快速验证代理IP是否有效的方法实现
    有时候,我们需要用到代理IP,比如在爬虫的时候,但是得到了IP之后,可能不知道怎么验证这些IP是不是有效的,这时候我们可以使用Python携带该IP来模拟访问某一个网站,如果多次未成功访问,则说明这个代理是无效的。 ...
    99+
    2022-06-02
    Python 验证代理IP python代理IP是否有效
  • ssh反向代理实现内网穿透【亲测可用】
    常用内网穿透方式 网卡层映射,包括购买公网ip 推荐指数:👍🏻👍🏻👍🏻👍&#...
    99+
    2024-01-21
    ssh 腾讯云 服务器
  • 使用Python脚本实现批量网站存活检测遇到问题及解决方法
    做渗透测试的时候,有个比较大的项目,里面有几百个网站,这样你必须首先确定哪些网站是正常,哪些网站是不正常的。所以自己就编了一个小脚本,为以后方便使用。 具体实现的代码如下: #!/usr/bin/pyt...
    99+
    2022-06-04
    解决方法 批量 脚本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作