Datehoer的博客
我本将心向明月,奈何明月照沟渠
Datehoer的博客

当前位置:主页 > 技术分享 > python 爬代理ip

python 爬代理ip

浏览: 作者:Datehoer 发布日期:2021-01-28 22:29:12 来源: 原创
其实这个完全可以自己复制粘贴。
不过说实在的,还是通过python来写爬虫比较方便一些,要不自己复制粘贴还是有点小麻烦的。
代理网站:https://www.kuaidaili.com/free

我们简单分析一下这个网站。
首先是看一下url,看一下网站的链接,每一页都有什么区别。
https://www.kuaidaili.com/free/inha/2/
第一页就是我们上面的那个地址,但是可以测试发现第一页也可以用https://www.kuaidaili.com/free/inha/1/来表示,所以链接可以通过for循环来写。
‘https://www.kuaidaili.com/free/inha/‘+i+’/’
其中i就是我们要爬的页码了,也可以是范围,参考昨天的文章-->python爬取桌面壁纸

我们先假设是一个范围吧,比如说爬1-20页。

def makelink(wantget):
    urllist = []
    pagenum = re.findall('([0-9])', wantget)
    pagenum = list(set(pagenum))
    pagenum.sort()
    maxpagenum = int(pagenum.pop())
    minpagenum = int(pagenum.pop(0))
    for i in range(minpagenum, maxpagenum + 1):
        newurl = url+'?page='+str(i)
        urllist.append(newurl)
    return urllist
这个是简单写的一个借鉴,我们可以通过这个来获取所有我们想要爬的链接,之后再通过循环来导入即可,当然代码是我直接复制那篇文章的,具体还是要修改的。
然后代理其实要用的就是ip,端口,以及协议。

python 爬代理ip

可以看到我们所有的信息都是储存在data-title里的,我们可以直接用xpath来获取当前页面所有的内容,然后进行组织即可。

ip_xpath = "//td[@data-title='IP']/text()"
port_xpath = "//td[@data-title='PORT']/text()"
type_xpath = "//td[@data-title='类型']/text()"


这里只是举个例子,具体的话还是需要自己写的,然后就简单将思路写到这里。
import requests
from lxml import etree
import re
import time

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
}

url = 'https://www.kuaidaili.com/free'
r = requests.get(url)
r = etree.HTML(r.content.decode('utf8'))
ip_xpath = "//td[@data-title='IP']/text()"
port_xpath = "//td[@data-title='PORT']/text()"
type_xpath = "//td[@data-title='类型']/text()"

i = r.xpath(ip_xpath)
print(i)
然后呢,上面的这个python爬虫代码是一个简单的小例子,具体的内容还是需要自己填充的,如果不会的话看以前一下前面的文章。

然后有什么不懂的可以在评论区留言,我会在看到的第一时间进行回复的。




版权:本文由Datehoer原创,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接本文链接:https://zjzdmc.top/jsfx/137.html。

文章推荐

热门标签

返回顶部
下面为相关推荐
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!