[爬虫類]クロールxicidaili可能なプロキシIP

#コーディング= UTF-8 
インポート要求
lxmlのインポートetreeから
IPS = []
DEF実行(ページ)
のURL = "https://www.xicidaili.com/nn/ {}"
ヘッダー= {
'のUser-Agent': " Mozillaの/ 5.0(Windows NTの6.1; Win64の、x64の)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 76.0.3809.132サファリ/ 537.36、PostmanRuntime / 7.16.3" 、
「受け入れます]: "* / *"、
「Cache-コントロール': "キャッシュなし"、
'ポストマン・トークン': "e17c0361-c140-4e67-b4d7-1d4297b6876d、2da41bb3-79f5-40fd-a5a7-63c0acbd4442"、
'ホスト': "www.xicidaili.com"、
' 「-エンコーディングを受け入れる: "GZIP、収縮"、
'クッキー': "_free_proxy_session = BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWYyNTA3YjBmOWFjNDAxOWJhYWEzNDg4YWQ0OTU5ZjYyBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMUkxQnBlMzlsNmR3bExnWHltNklaWjFIdDJyNkdiVzE0cXUwR094TlErczQ9BjsARg%の3D%の3D - 108c1be9a4e23604bde585654cfee79143f53fb6"、
'キャッシュ制御': "ノーキャッシュ"
}
R = requests.get(url.format(ページ)、ヘッダ=ヘッダ)

セレクタ= etree。 HTML(r.text)
info_list = selector.xpath( '//テーブル[ID = "ip_list" @] // TR')
プリント(info_list)
info_list = info_list:[1]
info_listでの情報のため:
IP = '' .join(info.xpath( './ TD [2] /テキスト() '))
ポート=''。ジョイン(info.xpath( './ TD [3] /テキスト() '))
プロトコル=''.join(info.xpath( './ TD [6] /テキスト()'))
ips.append(プロトコル+ "://" + IP + ":" +ポート)
プリント(IPS)

存储到TXT文件
デフwrite_to_txt(リスト):
オープン( 'ips.txt'は、 'W'、エンコード= 'UTF -8' )としてf:
f.write( "\ n"は.join(リスト))


__name __ == "__ MAIN__"の場合:
範囲内のiについての(1,5):
印刷( "======== ==========同步第{}页=====================」フォーマット(I))
ラン(I)
write_to_txt(IPS )
プリント(LEN(IPS))

おすすめ

転載: www.cnblogs.com/winstonsias/p/11528021.html