Python 爬虫练习(一) 爬取国内代理ip

简单的正则表达式练习,爬取代理 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

 

posted @ 2017-11-03 20:41  ihoneysec  阅读(1080)  评论(0编辑  收藏  举报