Python 正則練習(一) 爬取國內代理ip
阿新 • • 發佈:2017-11-03
取代 替代 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