第一版爬虫,爬补天漏洞链接及标题

 1 from HTMLParser import HTMLParser
 2 import urllib2
 3 import re
 4 from time import sleep
 5
 6
 7 class MyHTMLParser(HTMLParser):
 8     def __init__(self):
 9         HTMLParser.__init__(self)
10         self.links = []
11
12     def handle_starttag(self, tag, attrs):
13         #print "Encountered the beginning of a %s tag" % tag
14         if tag == "a":
15             if len(attrs) == 0: pass
16             else:
17                 for (variable,value)  in attrs:
18                         if variable == ‘href‘:
19                             if value.find(‘/vul/list/page/‘)+1:
20                                 self.links.append(value)
21
22 class PageContentParser(HTMLParser):
23     def __init__(self):
24         HTMLParser.__init__(self)
25     self.flag = 0
26     self.urllist = [] # url
27     self.title = [] #title
28     def handle_starttag(self, tag, attrs):
29         #print "Encountered the beginning of a %s tag" % tag
30         if tag == "a":
31             if len(attrs) == 0: pass
32             else:
33                 for (variable,value)  in attrs:
34                     if value.find(‘/vul/info/qid/QTVA‘)+1:
35                         self.flag = 1
36                         self.urllist.append(value)
37                         #url write to native
38                         sleep(0.5)
39                         f = open("./butian.html",‘a+‘)
40                         f.write("http://loudong.360.cn"+value+"---------")
41                         f.close
42     def handle_data(self,data):
43         if self.flag == 1:
44             y = data.decode("utf-8")
45             k = y.encode("gb18030")
46             self.title.append(k)
47             self.flag = 0
48             #storage to native
49             sleep(0.5)
50             f = open(‘./butian.html‘,‘a+‘)
51             f.write(k+"<br>")
52             f.close
53
54
55
56 if __name__ == "__main__":
57     print "start........"
58     content = urllib2.urlopen("http://loudong.360.cn/vul/list/").read()
59     hp = MyHTMLParser()
60     hp.feed(content)
61     num = int(filter(str.isdigit, hp.links[-1])) #get the total page
62     hp.close()
63     print num
64     for i in  range(num):
65         page = i + 1
66         pagecontent = urllib2.urlopen("http://loudong.360.cn/vul/list/page/"+str(page)).read()
67         page = PageContentParser()
68         page.feed(pagecontent)
69         page.close()

效果如下:

时间: 2024-08-10 19:18:41

第一版爬虫,爬补天漏洞链接及标题的相关文章

汽车之家数据爬取:文章链接//图片//标题

(1)打印出来的东西乱码,如何处理这个问题? import requests response=requests.get( url='https://www.autohome.com.cn/beijing/' #最新的地址是可以出来的 # url='https://www.autohome.com.cn/news/' #老的地址会出现乱码问题 ) print(response.text) (2) import requests response=requests.get( # url='http

简单的python爬虫 爬的乌云漏洞类型

import urllib.request import re starturl="http://wooyun.org/searchbug.php?q=%E9%87%91%E8%9E%8D" def get_html_response(url): html_response = urllib.request.urlopen(url).read().decode('utf-8') return html_response def geturl(starturl): a=get_html_

python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)

转载出处:药少敏   ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: 1 from bs4 import BeautifulSoup 2 import requests 3 4 if __name__ == '__main__': 5 html = requests.get('http://www.136book.com/huaqiangu/') 6 soup = BeautifulSoup(html.content, 'lxml'

Python编写网页爬虫爬取oj上的代码信息

OJ升级,代码可能会丢失. 所以要事先备份. 一开始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启发和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 python2.7版本, 试了一下修改到3.0版本, 要做很多包的更替,感觉比较烦,所以索性就在这个2.7版本上完善了. 首先观赏一下原始代码,我给加了一些注释: # -*- coding: cp936 -*- import urllib2 import urllib import re import

Python爬虫爬取数据的步骤

爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多网页的变化规律,基本上都是只有小部分有所变化,如:有的网页只有网址最后的数字在变化,则这种就可以通过变化数字将多个网页链接获取: 2.把获取得到的多个网页链接存入字典,充当一个临时数据库,在需要用时直接通过函数调用即可获得: 3.需要注意的是我们的爬取并不是随便什么网址都可以爬的,我们需要遵守我们的

python爬虫—爬取英文名以及正则表达式的介绍

python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一.  爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv文件中:再读取csv文件当中的每个英文名链接,采用循环的方法读取每一个英文名链接,根据每个英文名链接爬取每个链接中的数据,保存在新的csv文件当中. 需要写一个爬取英文名链接的函数.将爬取的内容保存在csv文件的函数以及读取csv文件内容的函数.爬取英文名详情页内容的函数. 表5.3.1 函数名

python爬虫爬取微博评论案例详解

这篇文章主要介绍了python爬虫爬取微博评论,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 数据格式:{"name":评论人姓名,"comment_time":评论时间,"comment_info":评论内容,"comment_url":评论人的主页} 以上就是我们需要的信息. 具体操作流程: 我们首相将主页获取完成以后,我们就会发现,其中 的内容带有相

python爬虫爬取csdn博客专家所有博客内容

python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 结果如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

听补天漏洞审核专家实战讲解XXE漏洞

对于将"挖洞"作为施展自身才干.展现自身价值方式的白 帽 子来说,听漏洞审核专家讲如何挖掘并验证漏洞,绝对不失为一种快速的成长方式! XXE Injection(XML External Entity Injection),是一种容易被忽视,但危害巨大的漏洞.它是一种隐蔽并且经常被忽视的漏洞,可以利用XML外部实体加载注入,执行不可预控的代码. 据补天数据统计,每100个漏洞里,有0.5个是XXE.XXE漏洞虽然数量不多,却每个都是一种漏洞的经典案例!<文末有彩蛋> 1.X