1. 程式人生 > >Python 正則練習(一) 爬取國內代理ip

Python 正則練習(一) 爬取國內代理ip

取代 替代 use -a int 5.0 tdi col 則表達式

簡單的正則表達式練習,爬取代理 ip。

僅爬取前三頁,用正則匹配過濾出 ip 地址和 端口,分別作為key、value 存入 validip 字典。

如果要確定代理 ip 是否真的可用,還需要再對代理 ip 再進行篩查過濾,最終僅僅保存真實可用代理 ip。

可能需要修改的內容:

xpath 替代正則進行抓取 ip 和端口;

驗證代理 ip 是否可用;

再存入mogodb 數據庫替代字典。

import re
import requests
from collections import defaultdict

validip = defaultdict()

for i in range(1, 3):
    urls = ‘http://www.xicidaili.com/nn/‘
    ua = {‘User-Agent‘:               ‘Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36‘}

    r = requests.get(url=urls + str(i), headers=ua).text

    recontent = re.findall(‘<img(?:.*)/></td>(?:\s+)<td>(.*?)</td>(?:\s+)<td>(.*?)</td>‘, r)

    for ips in recontent:
        validip[ips[0]] = ips[1]

for ip, port in validip.items():
    print(ip, port)

  

Hello

Python 正則練習(一) 爬取國內代理ip