没有写不出的代码,只有不努力的程序员

python爬取免费代理服务器(三)

HI,大家好,这篇文章已经是这个系列的第三篇了,这期教大家怎么样爬取https://www.89ip.cn/上的免费代理,首先我们可以发现有API接口,在https://www.89ip.cn/tqdl.html?num=60&address=&kill_address=&port=&kill_port=&isp=,我们可以得出以下代码获取代理

import bs4,requests
success=[]
response = requests.get(“https://www.89ip.cn/tqdl.html?num=60&address=&kill_address=&port=&kill_port=&isp=”)
soup = bs4.BeautifulSoup(response.text,”html.parser”)
text = str(soup.find_all(“div”,attrs={“style”:”padding-left:20px;”}))
t = text.split(“<br/>”)
t.remove(“更好用的代理ip请访问:https://www.7yip.cn/      </div>]”)
t[0]=””
t.remove(“”)
print(t)
爬取的IP都会储存到t这个列表中

验证代码使用上一期的验证代码

import bs4,requests
success=[]
response = requests.get(“https://www.89ip.cn/tqdl.html?num=60&address=&kill_address=&port=&kill_port=&isp=”)
soup = bs4.BeautifulSoup(response.text,”html.parser”)
text = str(soup.find_all(“div”,attrs={“style”:”padding-left:20px;”}))
t = text.split(“<br/>”)
t.remove(“更好用的代理ip请访问:https://www.7yip.cn/      </div>]”)
t[0]=””
t.remove(“”)
print(t)
def test_baidu(proxyip):
    proxy = {‘http’:proxyip}
    try:
        testconnect = requests.get(“http://httpbin.org/get”,proxies=proxy,timeout=2)
    except:
        return “none”
    else:
        try:
            proxy={“https”:proxyip}
            testconnect = requests.get(“http://httpbin.org/get”,proxies=proxy,timeout=2)
        except:
            success.append(“http:”+proxyip)
            return “http:”+proxyip
        else:
            success.append(“https”+proxyip)
            return “https:”+proxyip
for i in t:
    test = test_baidu(i)
    if test != “none”:
        print(test)
print(success)

好了,很晚了,明天得早起,我们下期再见~

下期预告:可能会出CS架构的爬取系统,客户端端连接到24小时爬取任务的服务器上就可以获取到存活的代理IP

赞(1)
欢迎转载,转载请在文章末尾加上原地址,违者必究Jimmy的博客 » python爬取免费代理服务器(三)
分享到: 更多 (0)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    坚持不懈,方得成功!

    Bob3周前 (11-04)回复