爬虫实战篇--更换代理ip

背景
我们在爬取网站数据,防止被对方服务器发现的一个最重要的操作是更换代理ip,因为你的电脑主机在局域网下的ip是固定的,所以你经常使用一个代理ip对网站进行大规模爬取,就容易被对方服务器检测出来是非人为操作,那么你的主机ip会被他们拉入到ip黑名单池,导致爬取不到想要的数据了。

目前市面上有很多免费和收费的代理ip。对于免费和付费的代理,不妨依次使用,先用免费代理尝试,如果需要更高阶的爬取,那么可以考虑付费代理。需要提醒的是,代理的选择最好使用高匿名代理IP,不然你的主机IP可能还是会被对方服务器检测出来。

免费代理使用
对于需要维护免费的ip代理池的朋友可以参考下面的链接进行配置:
免费代理池项目

付费代理使用
付费代理测评

提取代理代码编写

import re,requests
ips1=[]
def get_ips():
    url=""   ##这里需要填写的是你的API链接
    response=requests.get(url)
    ips=re.findall('\\d+\\.\\d+\\.\\d+\\.\\d*\\:\\d+',response.text,re.S) ##正则表达式提取代理ip
    for i in range(len(ips)):
        ip = ips[i]
        proxies = {
                   'http': "http://" + ip
                   }    ##可选,http或者https
        try:
            test_ip_response = requests.get('https://sh.fang.anjuke.com/',proxies=proxies)##这里以访问安居客为例
        except Exception as e:
            print("此代理异常")
        print(test_ip_response.status_code)
        if test_ip_response.status_code == 200:  ##,如果能够访问安居客,状态码是200,那么就将代理加入到列表中
            ips1.append(proxies)
    return ips1

调用代理ip代码编写

ip_list=get_ips()
##请求网站信息
response = requests.get('https://sh.fang.anjuke.com,proxies=random.choice(ip_list)) ##加请求头,更换ip,

通过这种操作就成功地把代理加到请求链接啦。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值