python爬虫更换ip的详细教程(含免费代理ip)

发布日期:2022-11-16

        python爬虫怎么更换ip?相信很多小伙伴会问这个问题,python应用程序作为目前市面主流的爬虫程序,针对web端,大数据的采集极其便捷,那么,python爬虫是怎么更换ip的,就给大家介绍下:

 

python爬虫更换ip的详细教程

 

1,获取HTTP代理API链接

        Python爬虫程序在采集任务的过程中,需要用到http代理,那么,首先我们获取到http代理提取ip的api链接(这里以巨量HTTP免费套餐为例),注册并领取每日1000ip的免费套餐,获取到API链接地址(根据自己业务需求设置提取数量),如下图:

 

2,代码对接程序

1.配置环境,导入包

# IP地址取自国内髙匿国内代理IP巨量HTTP网站(每日可领取1000ip):

# 仅仅爬取首页IP地址就足够一般使用

from bs4 import BeautifulSoup

import requests

import random

headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}

 

2.获取网页内容函数

def getHTMLText(url,proxies):

try:

r = requests.get(url,proxies=proxies)

r.raise_for_status()

r.encoding = r.apparent_encoding

except:

return 0

else:

return r.text

 

3.从代理ip网站获取代理ip列表函数,并检测可用性,返回ip列表

def get_ip_list(url):

web_data = requests.get(url,headers)

soup = BeautifulSoup(web_data.text, 'html')

ips = soup.find_all('tr')

ip_list = []

for i in range(1, len(ips)):

ip_info = ips[i]

tds = ip_info.find_all('td')

ip_list.append(tds[1].text + ':' + tds[2].text)

 

#检测ip可用性,移除不可用ip:(这里其实总会出问题,你移除的ip可能只是暂时不能用,剩下的ip使用一次后可能之后也未必能用)

for ip in ip_list:

try:

proxy_host = "https://" + ip

proxy_temp = {"https": proxy_host}

res = urllib.urlopen(url, proxies=proxy_temp).read()

except Exception as e:

ip_list.remove(ip)

continue

return ip_list

 

4.从ip池中随机获取ip列表

def get_random_ip(ip_list):

proxy_list = []

for ip in ip_list:

proxy_list.append('http://' + ip)

proxy_ip = random.choice(proxy_list)

proxies = {'http': proxy_ip}

return proxies

 

5.调用代理

if __name__ == '__main__':

url = 'www.juliangip.com/'

ip_list = get_ip_list(url)

proxies = get_random_ip(ip_list)

print(proxies)

 

        以上就是爬虫怎么更换ip的详细教程,主要就是通过程序自动提取ip,然后检测ip是否失效,当失效以后,程序再次提取ip,如此循环,即可实现ip的更换。

 

3D城市图标

巨量IP VIP测试免费开通

覆盖全国200+城市地区线路,日活跃IP超200万个,注册每日送1000IP

立即领取
巨量IP公众号二维码

关注巨量HTTP公众号

巨量IP代理logo

Copyright © 版权所有 湖北巨量云科技有限公司

本模板版权局已登记·盗版必究,登记号:黔作登字-2021-F-00331209

GitHub图标 QQ图标 微信图标
免责声明 巨量IP倡导绿色合规经营,保障服务绿色、便捷、合法一直是我们的初衷,为积极响应落实《中华人民共和国网络安全法》,巨量IP要求所有用户必须实名认证,用户行为日志保存完整,并严格依据《巨量IP服务协议》对用户行为进行规范管理;用户使用巨量IP从事的任何行为均不代表巨量IP的意志和观点,与巨量IP的立场无关。严禁用户使用巨量IP从事任何违法犯罪行为, 产生的相关责任用户自负,对此巨量IP不承担任何法律责任。