动态ip

>

代理ip软件

>

换ip软件

>

HTTP代理

>
Socks5代理
黑核动态ip代理
您的位置: 首页 > 新闻资讯 > 正文

爬虫自动获取并使用代理ip

发布时间:2019-05-17 09:38:45 来源:黑核动态ip代理

分享到

  当同一ip短时间内多次链接同一网站,很可能导致ip被封,所以需要利用代理ip防止封禁。代理ip可以通过百度很容易的获取 比如黑核动态ip代理,但是,很明显我们用爬虫的人,不是会一个个自己复制粘贴的人,所以自然想到用爬虫解决问题。

  主要思路

  1.从代理网站爬取IP地址及端口号并存储

  2.验证ip能否使用

  3.格式化ip地址

  4.在requests中使用代理ip爬网站

  具体实现

  1.爬取代理IP

  这一步很简单就直接上代码了

url = 'http://www.xicidaili.com/wt'def get_ip_list(url, headers):    """ 从代理网站上获取代理"""
    ip_list = []
    page = requests.get(url, headers=headers)
    soup = BeautifulSoup(page.text, 'lxml')
    ul_list = soup.find_all('tr', limit=20)
    print(len(ul_list))    for i in range(2, len(ul_list)):
        line = ul_list[i].find_all('td')
        ip = line[1].text
        port = line[2].text
        address = ip + ':' + port
        ip_list.append(address)    return ip_list

  最终获得的是是这样的ip:port列表

爬虫自动获取并使用代理ip

  2.验证ip可用

  验证可用有两种思路:

  - 在格式化好的用代理IP访问指定网站,如果返回状态为200,表示这个代理是可以使用的

  - 在ip_list基础上使用telnet来验证

  直接访问式验证

import requests 
#假设此时有一已经格式化好的ip代理地址proxiesproxies = {
    http: 'http://114.99.7.122:8752'
    https: 'https://114.99.7.122:8752'}
headers = {    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063'}
url = 'http://www.whatismyip.com.tw/'try:
    page = requests.get(url, headers=headers, proxies=proxies)    except:
        print('失败')    else:
        print('成功')

  这个方法很容易想到,但是受限于代理的延时,很慢,于是有了下面一个快一点的使用telnet来验证

  方法:

#这里假设有ip_list中某一iphd, port = ip.split(':')try:
    telnetlib.Telnet(hd, port=port, timeout=20)except:    print '失败'else:    print '成功'

  3.格式化

  在Requests中使用代理爬取的格式是

import requests
requests.get(url, headers=headers, proxies=proxies)

  其中proxies是一个字典其格式为:

  对每个ip都有

proxies = {
    http: 'http://114.99.7.122:8752'
    https: 'https://114.99.7.122:8752'}

  这里注意:

  对于http和https两个元素,这里的http和https

  代表的不是代理网站上在ip后面接的类型

  代表的**是**requests访问的网站的传输类型是http还是https

  所以,如果,你爬的网站是http类型的你就用http,如果是https类型的你就用https,当然相应的在代理网站上爬的时候也要分别爬http或https的ip

  当然为了省事,我们都加上,反正会验证能不能用,这样有更好的通用性。

  具体格式化代码为:

def get_proxy(aip):    """构建格式化的单个proxies"""
    proxy_ip = 'http://' + aip
    proxy_ips = 'https://' + aip
    proxy = {'https': proxy_ips, 'http': proxy_ip}    return proxy

  4.使用代理建立爬虫

  由于本身就是为了学习,所以建立爬虫爬取的是显示ip的网站http://www.whatismyip.com.tw/

  这个网站会显示你的ip地址,从而可以很直观确认我们的代理是否成功了

  代码是很简单的爬虫就直接上代码了:

def print_ip(proxies):    """利用http://www.whatismyip.com.tw/显示访问的ip"""
    cookies = {        'sc_is_visitor_unique': 'rx6392240.1508897278.298AFF0AE2624F7BC72BADF517B67AEE.2.2.2.2.2.2.1.1.1',
    }

    headers = {        'Accept-Encoding': 'gzip, deflate',        'Accept-Language': 'zh-CN,zh;q=0.8',        'Upgrade-Insecure-Requests': '1',        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',        'Cache-Control': 'max-age=0',        'Connection': 'keep-alive',
    }   
    url = 'http://www.whatismyip.com.tw/'    try:
        page = requests.get(url, headers=headers, proxies=proxies)    except:
        print(str(proxies) + 'is wrong')    else:
        soup = BeautifulSoup(page.text, 'lxml')
        my_ip = soup.find('b').text
        print('成功连接' + my_ip)

  可以看到这里用的是第一种方式确认ip的可用

  如果运行成功有如下显示:

爬虫自动获取并使用代理ip


相关资讯

常见几种自动换IP方式对比

现在很多工作都需要换IP,本文介绍几种常见的自动换IP方式的对比,换IP方式包含路由器换IP,拨号换IP,vpn换IP,3G/4G手机上网卡换IP,代理服务器换

来源:黑核混拨ip代理

2019-03-28 17:30:28

自动和手动换IP软件哪个比较受欢迎

大家在网络上营销推广的时候经常需要更换IP吧,不仅仅是qq、微信等,所以我们就要使用到换ip软件了,那么问题就来了,换IP软件怎么使用呢。黑核动态ip代理软件是

来源:黑核动态ip代理

2019-04-03 17:33:51

自动更换ip软件的原理

自动更换ip软件的研发初衷是为了让人们的生活和工作更加方便便捷,这样让人们能够及早完成忙碌的工作,有更多的时间交给自己自由分配,有更多的时间陪家人陪妻儿。这也是

来源:黑核动态ip代理

2019-04-13 10:24:41

路由器如何设置自动切换IP

自从WiFi流行起来后,许多家庭以及办公区域都开始使用路由器,设置WiFi,这路由器能不能设置换IP呢?不同品牌有影响吗?毕竟现在很多工作都需要换IP,下面小编

来源:黑核动态ip代理

2019-05-09 09:19:15

常见几种自动换IP方式的对比

自动换IP的方法多种多样,你知道几种呢?本文介绍常见几种自动换IP方式的对比,包含路由器换IP,拨号换IP,vpn换IP,3G/4G手机上网卡换IP,代理服务器

来源:黑核动态ip代理

2019-05-09 09:26:39

Python爬虫如何使用代理ip帮助进行图片自动下载

Python爬虫的问世,节省了很多机械性的工作,当大批量的信息需要被爬取的时候,爬虫能够自动的进行下载,很大层度上提升了工作效率。那么Python爬虫如何使用代

来源:黑核动态ip代理

2019-05-12 10:44:00

爬虫自动获取并使用代理ip

当同一ip短时间内多次链接同一网站,很可能导致ip被封,所以需要利用代理ip防止封禁。代理ip可以通过百度很容易的获取比如黑核动态ip代理,但是,很明显我们用爬

来源:黑核动态ip代理

2019-05-17 09:38:45

IP加速器的使用方法和简单问题解决办法

IP加速器,顾名思义就是加速IP,提升网络性能,降低网络延迟。黑核混拨ip加速器是一款ip量大速度快的加速器,非游戏外挂,可以放心使用。IP加速器的客户端设置简

来源:黑核混拨ip加速器网

2018-12-28 10:21:44

Python爬虫如何获取大量的ip预防被封

python爬虫抓取和分析京东商城评价互联网购物现已成为当下最流行的购物方式,很多用户在互联网购买商品后,会对商品包装、质量,商家服务做出客观评价。商品评价的好

来源:黑核混拨ip代理

2019-01-19 10:51:05

换ip软件帮您解决ip被封烦恼!

换ip软件帮您解决ip被封烦恼!我想做互联网工作的基本上都需要换下ip吧,很多时候我们做推广经常被封账号,特别是同一个IP自问自答马上封你没商量,但是这些推广也

来源:黑核混拨IP网

2018-12-25 15:52:02

什么是ip代理软件?可以修改ip地址吗?

经常碰到朋友问,代理IP是做啥的,有什么用。我对他一顿解释,然后他还是云里雾里,好吧,可能是我口才不好,这里写文再解释下。代理IP对于很多人来说,用处很大,他们

来源:黑核混拨ip加速器网

2018-12-27 17:27:18

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
客服电话
13318873961