最近发现一个很好的网站,0dayin,资源是非常的多。资源有哪些呢: windows,mac下的各种工具和软件。各种电子书,包含科技,小说,杂志(居然还有类似花花公子那种),可以看多国外的最新杂志。当然还有音乐,高清电影,还有各种外国最近的IT教程,但是这个百度云下载的话只有网站会员才行,不然只能使用其它链接。还有各个平台下的游戏,PC,Linux,XBOX,PS3等。资源种类真的可以用琳琅满目来形容,而且主要是更新真的很快,一天更新好多。
信息一多,慢慢翻麻烦耗时,而且不是所有信息都想关注。于是谋生了用爬虫爬取自己想要的信息。我目前想关注的信息只有资源类别(比如windows,game,Ebook等),资源标题,发布时间,资源的简介四个东西。看了下网页源码,有规律,解析不难。
上图中
上图中椭圆圈出的是我想获得的信息,方块圈出的是一个找寻信息的逻辑。通过分析网页源码发现,所有的最新发布的每个资源都在一个article class="excerpt"段落中,我们可以使用find_all找出所有的个article class="excerpt",然后再在每个里面找寻想要的信息,比如资源类别,可以是article.header.a.next。资源标题是article.h2.string。发布时间是article.p.find('i', class_="icon-time icon12").next。资源简介是article.p.find_next_sibling().string。最后我想获取的是最新发布的10页资源信息,可以用循环实现,因为每个页面的Url很简单,只需在http://www.0dayin.com/page/后面添加页数。比如第二页就是http://www.0dayin.com/page/2.下面是源代码,用BeautifulSoup实现真的超级方便,可能以后会进行拓展,所以当前版本为0.1。
下面是运行成功效果图: