闲来没事,就想着去爬取一下wooyun站的漏洞详情页面的内容
原本尝试直接爬wooyun本站的信息的,结果在分析页面的时候出了点小问题,只能说一时脑子不开窍了
然后就去找了一个其他的,其实还是乌云的站
代码方面这里着重说一下使用的BeautifulSoup
库
先分析网页源代码,我需要找到的是漏洞的url和标题在页面中的位置,
url存在于 td 标签下面的a标签里面,接下来就下去获取这个标签,然后再取出标签内我们需要的内容
BeautifulSoup
库
Beautiful Soup
提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
安装此库 pip install BeautifulSoup4
首先应该导入BeautifulSoup
类库 from bs4 import BeautifulSoup
我们需要取出标签及内容
find_all
1 | 1. 查找指定标签 soup.find_all('tag') |
a = soup.find_all('a',href=re.compile("/bugs/wooyun?")) #定向匹配 ?
这就可以取出整个a标签,是不是比正则简单了很多呢
取a标签里面href的值使用a[0]['href']
即可
1 | for num in range(0,len(a)): |
下载整个网页内容
对应标题 url
将标题名字作为存储的文件名
python爬取原生网页
或者直接将页面保存为PDF
使用import urllib.request
报错,改为 import urllib
urllib.request.urlopen(url);