爬虫练习之爬取绿盟漏洞报告的标题与地址

#coding:utf-8
# 作者@in2
#抓取完之后,将页面的编码调整为utf-8即可:)


import urllib2,bs4
from bs4 import BeautifulSoup  #导入相关模块

h = open('CVE.html','w')     #打开CVE.html文件,不存在的话自动新建一个

for pages in range(1,30246):      #取页数1到30246

    strpage = str(pages)      
    print "当前是第" + strpage +"个漏洞"
    url = "http://www.nsfocus.net/vulndb/"+strpage #拼接url
    r = urllib2.Request(url) #实例化request对象

    page = urllib2.urlopen(r) #打开

    s = BeautifulSoup(page)      #解析


    text = s.findAll(attrs = {'align' : ['center'] }) #寻找标签条件align='center'

    for each in text:               #遍历
        if each.name == 'div':    
            print str(each.b).decode('utf-8')
            if each.b:       #不为空,写入
                h.write('<div align="center"><b>漏洞名称:</b></div>'+str(each)+'<div align="center"><b>url:'+url+"</b></div>"+"<hr/><br/>")
            elif each == "没有漏洞记录":                  
                h.write("没有漏洞记录") 
            else:
                print("代码抽了QAQ")
                pass

h.close()                           #关闭文件,释放资源

 

posted @ 2015-11-25 19:13  in-2  阅读(361)  评论(0)    收藏  举报