[代理百科]免費(fèi)ip代理池的創(chuàng)建教程
現(xiàn)在網(wǎng)絡(luò)爬蟲(chóng)非常普及,導(dǎo)致很多網(wǎng)站對(duì)于爬蟲(chóng)的防御越來(lái)越嚴(yán)格。如果不用ip代理,一些數(shù)據(jù)大一些的根本無(wú)法爬下來(lái)。自從有了一個(gè)ip代理池之后,反爬破解就變得簡(jiǎn)單了,下面IP海介紹一個(gè)免費(fèi)的ip代理建造教程給大家。
1、獲取代理的json信息
2、分析
很明顯每一行是一個(gè)json數(shù)據(jù),但整個(gè)頁(yè)面你拿到的也不過(guò)是字符串而已,每一行末都換行,也就是說(shuō)每一行末都有" ",那么思路很清晰,用requests獲得整個(gè)頁(yè)面的text(字符串),然后用split(' ') 將每一行分割之后組成的列表,便利這個(gè)列表用json.loads()方法,將每一行的字符串轉(zhuǎn)換為json對(duì)象,最后取值。
3、代碼部分
#!/usr/bin/env python3
# coding:utf-8
#lanxing
import json
import telnetlib
import requests
import random
proxy_url = 'https://raw.githubusercontent.com/fate0/proxylist/master/proxy.list'
# proxyList = []
#定義函數(shù),驗(yàn)證ip代理是否有效
def verify(ip,port,type):
proxies = {}
try:
telnet = telnetlib.Telnet(ip,port=port,timeout=3) #用這個(gè)ip請(qǐng)?jiān)L問(wèn),3s自動(dòng)斷開(kāi),返回tiemout
except:
print('unconnected')
else:
#print('connected successfully')
# proxyList.append((ip + ':' + str(port),type))
proxies['type'] = type
proxies['host'] = ip
proxies['port'] = port
proxiesJson = json.dumps(proxies)
#保存到本地的proxies_ip.json文件
with open('proxies_ip.json','a+') as f:
f.write(proxiesJson + ' ')
print("已寫(xiě)入:%s" % proxies)
#定義函數(shù),帶著url地址去獲取數(shù)據(jù)
def getProxy(proxy_url):
response = requests.get(proxy_url)
#print(type(response))
# 用split(' ') 將每一行分割之后組成的列表,消除換行影響
proxies_list = response.text.split(' ')
for proxy_str in proxies_list:
# 用json.loads()方法,將每一行的字符串轉(zhuǎn)換為json對(duì)象,最后取值
proxy_json = json.loads(proxy_str)
host = proxy_json['host']
port = proxy_json['port']
type = proxy_json['type']
verify(host,port,type)
#主函數(shù),入口
if __name__ == '__main__':
getProxy(proxy_url)
關(guān)于ip代理池的構(gòu)建,網(wǎng)絡(luò)上面大家也可以找到很多相關(guān)教程,如果大家想要簡(jiǎn)單一些,可以直接向靠譜的代理服務(wù)商購(gòu)買(mǎi)ip代理來(lái)使用,這樣IP的質(zhì)量更加高,也更加安全。
版權(quán)聲明:本文為IP海(iphai.cn)原創(chuàng)作品,未經(jīng)許可,禁止轉(zhuǎn)載!
Copyright © www.wibm.ac.cn. All Rights Reserved. IP海 版權(quán)所有.
IP海僅提供中國(guó)內(nèi)IP加速服務(wù),無(wú)法跨境聯(lián)網(wǎng),用戶(hù)應(yīng)遵守《服務(wù)條款》內(nèi)容,嚴(yán)禁用戶(hù)使用IP海從事任何違法犯罪行為。
鄂ICP備19030659號(hào)-3
鄂公網(wǎng)安備42100302000141號(hào)
計(jì)算機(jī)軟件著作權(quán)證
ICP/EDI許可證:鄂B2-20200106