获取代理IP地址(BeautifulSoup)

本文介绍了一种使用Python的BeautifulSoup库从网站抓取代理IP数据的方法。通过设置请求头并发送GET请求到指定URL,利用BeautifulSoup解析网页内容,最后筛选出所需的代理IP信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前天用正则的方式获取网站的代理IP数据,今天为了学习BeautifulSoup,用BeautifulSoup实现了一下。

 1 #!/usr/bin/python
 2 
 3 import requests
 4 from bs4 import BeautifulSoup
 5 
 6 
 7 headers={'Host':"www.ip-adress.com",
 8         'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
 9         'Accept':"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
10         'Accept-Language':"zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3",
11         'Accept-Encoding':"gzip, deflate",
12         'Referer':"http://www.ip-adress.com/Proxy_Checker/",
13         'Connection':'keep-alive'
14 }
15 
16 url="http://www.ip-adress.com/proxy_list/"
17 req=requests.get(url,headers=headers)
18 soup=BeautifulSoup(req.text) //BeautifulSoup(str)
19 rsp=soup.find_all('tr',{'class':'odd'})
20 rsp1=soup.find_all('tr',{'class':'even'})
21 for eliment in rsp:
22         print eliment.td.text //the first one
23 
24 for eliment1 in rsp1:
25         print eliment1.td.text

 

转载于:https://www.cnblogs.com/tmyyss/p/4207556.html

### 获取可用于配置的国外代理服务器IP地址列表 为了获取并验证可用的国外代理服务器 IP 地址,可以采用如下方法: #### 方法一:通过在线代理服务提供商 许多第三方服务商提供免费或付费的代理服务。这些平台通常会维护最新的代理池,并定期更新有效的代理 IP 列表。 例如 FreeProxyList、SpysOne 或者 ProxyNova 等网站提供了大量的公开代理资源[^1]。不过需要注意的是,在使用这类公共代理时可能存在安全性和稳定性方面的问题,因此建议优先考虑信誉良好的商业代理供应商。 #### 方法二:编写脚本自动抓取和测试 如果希望更灵活地控制所使用的代理源,则可以通过编程方式来实现自动化收集与检测过程。下面是一个简单的 Python 脚本示例,用于从特定网页上爬取 HTTP/HTTPS 类型的匿名程度较高的代理数据,并对其进行简单连通性测试: ```python import requests from bs4 import BeautifulSoup def fetch_proxies(): url = 'https://www.example-proxy-site.com' # 替换成实际的目标站点链接 response = requests.get(url) soup = BeautifulSoup(response.text, "html.parser") proxies = [] table = soup.find('table', attrs={'class': 'proxy-table'}) rows = table.tbody.find_all('tr') for row in rows: columns = row.find_all('td') ip = columns[0].text.strip() port = columns[1].text.strip() proxy_type = columns[3].text.lower().strip() # 只保留http(s)类型的代理 if proxy_type.startswith(('http', 'https')): full_proxy = f"{proxy_type}://{ip}:{port}" proxies.append(full_proxy) return proxies def test_proxy(proxy): try: resp = requests.get( 'http://example.com', proxies={"http": proxy, "https": proxy}, timeout=5, ) status_code = resp.status_code success = (status_code >= 200 and status_code < 300) return {'success': success, 'code': status_code} except Exception as e: return {'success': False} proxies_list = fetch_proxies() for p in proxies_list[:10]: # 测试前十个代理 result = test_proxy(p) print(f'Testing {p}: {"Success" if result["success"] else "Failed"} ({result["code"]})') ``` 此代码片段展示了如何利用 `requests` 和 `BeautifulSoup` 库解析 HTML 页面中的表格结构以提取代理信息,并尝试连接到指定目标 URL 来检验其有效性。请注意修改其中的目标网址部分以便适应不同的代理列表页面布局特点[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值