码迷,mamicode.com
首页 > 编程语言 > 详细

python抓取网站IP列表

时间:2015-09-21 15:32:43      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

其中的html代码类似这样:

‘‘‘ 
<li>
<div class="ip">IP</div>
<div class="port">端口</div>
<div class="type">类型</div>
<div class="addr" style="text-align:center;">地址</div>
</li>,
<li>
<div class="ip">211.48.77.58</div>
<div class="port">3128</div>
<div class="type">透明</div>
<div class="addr">韩国 CZ88.NET</div>
</li>
‘‘‘

以下代码可直接保存为xxx.py 执行

#!/usr/bin/python

#coding:utf-8

import re
import httplib
from bs4 import BeautifulSoup

def main():
  get_proxy()

def get_proxy():
  httpClient = httplib.HTTPConnection("www.cz88.net",80,False,5)    #创建连接
  httpClient.request("GET","/proxy/")                  #创建请求
  response = httpClient.getresponse()                 #发起请求并返回HTTPResponse对象
  body = response.read()
  soup = BeautifulSoup(body)                     #BeautifulSoup封装返回文本
  ul = soup.find_all(‘ul‘)                       #找到所有的ul标签(需提前在浏览器中分析你需要的内容在哪)
  ipul = ul[4] #ip列表的li                       #其中下表为4的ul是我需要的含有ip列表的ul
  ipli = ipul.find_all(‘li‘)                        #找到其中的li标签(一层一层往下解析)
  ip_list = []
  port_list = []
  type_list = []
  addr_list = []
  for li in ipli[1:]:                          #为什么从1开始?下表为0的是我不需要的,你可以打印出来看看
    for li_div in li.children:
      class_temp = li_div.attrs[‘class‘][0].encode(‘utf-8‘)
      contents_temp = li_div.contents[0].encode(‘utf-8‘).strip()
      if class_temp == ‘ip‘:
        ip_list.append(contents_temp)
      elif class_temp == ‘port‘:
        port_list.append(contents_temp)
      elif class_temp == ‘type‘:
        type_list.append(contents_temp)
      elif class_temp == ‘addr‘:
        addr_list.append(contents_temp)
      else:
        pass

  for ip,port in zip(ip_list,port_list):                #其中没有打印type和addr,需要的自己打印
    print ip+":"+port

  #fw = open("test.html","w")   #打开文件,以写的方式(如果没有就创建),为之前调试写入
  #fw.write(body)          #写入网站返回的文本(不包括头)
  #fw.close()
  httpClient.close()        #关闭网站连接

if __name__ == ‘__main__‘:   

  main()

python抓取网站IP列表

标签:

原文地址:http://www.cnblogs.com/xccnblogs/p/4826067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!