天天看點

Python爬取代理IP

環境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'&lt;tr&gt;&lt;td data-title="IP"&gt;(.*?)&lt;/td&gt;&lt;td data-title="PORT"&gt;(.*?)&lt;/td&gt;&lt;td data-title="匿名度"&gt;(.*?)&lt;/td&gt;&lt;td data-title="類型"&gt;(.*?)&lt;/td&gt;&lt;td data-title="位置"&gt;(.*?)&lt;/td&gt;&lt;td data-title="響應速度"&gt;(.*?)&lt;/td&gt;&lt;td data-title="最後驗證時間"&gt;(.*?)&lt;/td&gt;&lt;/tr&gt;'</code>

<code>ip </code><code>=</code> <code>r</code><code>'&lt;td data-title="IP"&gt;(.*?)&lt;/td&gt;'</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>'&lt;td data-title="PORT"&gt;(.*?)&lt;/td&gt;'</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