環境Python3.6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<code>#!/usr/bin/env python</code>
<code>#-*-coding=utf-8 -*-</code>
<code>#AUTHOR:duwentao</code>
<code>import</code> <code>requests</code>
<code>import</code> <code>re</code>
<code>i </code><code>=</code> <code>input</code><code>(</code><code>"請輸入你要爬取第幾頁:"</code><code>)</code>
<code>url </code><code>=</code> <code>"https://www.kuaidaili.com/free/inha/"</code> <code>+</code> <code>i </code><code>+</code><code>"/"</code>
<code>print</code><code>(</code><code>"擷取代理IP位址"</code><code>)</code>
<code>header </code><code>=</code> <code>{</code>
<code> </code><code>"User-Agent"</code><code>:</code><code>"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0"</code>
<code>}</code>
<code>reponse </code><code>=</code> <code>requests.get(url,header)</code>
<code>reponse.encoding</code><code>=</code><code>'utf-8'</code>
<code>html </code><code>=</code> <code>reponse.text</code>
<code>#p = r'<tr><td data-title="IP">(.*?)</td><td data-title="PORT">(.*?)</td><td data-title="匿名度">(.*?)</td><td data-title="類型">(.*?)</td><td data-title="位置">(.*?)</td><td data-title="響應速度">(.*?)</td><td data-title="最後驗證時間">(.*?)</td></tr>'</code>
<code>ip </code><code>=</code> <code>r</code><code>'<td data-title="IP">(.*?)</td>'</code>
<code>IP </code><code>=</code> <code>re.findall(ip,html,re.M|re.S)</code>
<code>dk </code><code>=</code> <code>r</code><code>'<td data-title="PORT">(.*?)</td>'</code>
<code>DK </code><code>=</code> <code>re.findall(dk,html,re.M|re.S)</code>
<code>f</code><code>=</code><code>open</code><code>(</code><code>"ip_list.txt"</code><code>,</code><code>"a"</code><code>)</code>
<code>for</code> <code>ip </code><code>in</code> <code>IP:</code>
<code> </code><code>IP_LIST </code><code>=</code> <code>ip </code><code>+</code> <code>":"</code> <code>+</code> <code>DK[IP.index(ip)] </code><code>+</code> <code>"\n"</code>
<code> </code><code>f.write(IP_LIST)</code>
<code>f.close()</code>
<code>print</code><code>(</code><code>"儲存完畢"</code><code>)</code>
本文轉自 天道酬勤VIP 51CTO部落格,原文連結:http://blog.51cto.com/tdcqvip/2063778