快好知 kuaihz订阅观点

 

10行python爬虫代码爬取新浪所有文档,从此再也不

后台有很多粉丝希望分享一些关于爬虫的知识,因为不管是做数据分析还是数据挖掘,其核心都是数据,实际生产活动中,很大一部分数据是来源于爬虫

今天我们先来学习一下爬虫入门基础:requests和BeautifulSoup。这两大利器构成了我们爬虫的主要要素,很多深入的应用都是在这些基础之上的,下面我们就结合一个真实案例来进行学习。

今天我们要爬取的是新浪爱问共享资料,这个网站上有很多免费的文档,尤其是中小学生学习资料,是个不错的来源。

首先搜索我们需要的文档,比如:我想要关于初三物理的文档,搜索结果如下:

我们可以看到,每页有30个文档,并且总共有20页,这么多作业肯定狗亲戚家小朋友做的了。

那么,我们现在就来构思我们的爬虫,首先,我们要获取每篇文档的链接,接着再进入文档,爬取详细的内容,先来查看一下网页结构:

可以看到,30个文档模块整整齐齐的摆放在我们面前。那么首先就要来解析这个搜索目录了,先来看代码:

我们用到了requests这个库,这个库主要是用来请求url,并且获取这个url中的内容:

我分别打印了r和r.text,第一个返回的是200,表示网页请求成果,之后的是网页的详细信息。拿到网页之后该怎么办呢,下一步就是解析网页的内容,并且获取我们想要的信息,r.text返回的是一个文本,计算机并不认识,所以我们需要先把它整理成结构化的网页文档,这里就需要BeautifulSoup这个包了,老规矩先看代码:

首先把request返回的值使用html.parer进行解析,其次通过查找我们发现,所有的链接都存在于a标签当中,并且这些标签的class属性都是sts_8,所以我们就拿到了结果:

所有的结果都拿到了,但是这并不是我们的最终结果,我们想要的仅仅是href属性的值,我们发现,所有的结果都保存在一个列表当中,所以我们还有一个办法:

通过遍历列表的中的值,获取每个值的href属性,看下结果:

这正是我们想要的文章链接,所以拿到这些链接之后,我们就可以顺理成章的去获取具体文档内容了,剩下的交给大家自己练习了!按照这个思路,我们几乎可以爬取新浪所有文档,赶紧试试吧。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:爬虫  爬虫词条  新浪  新浪词条  从此  从此词条  再也  再也词条  代码  代码词条  
开店

 全球第8高的澳门塔,在223米高...

如果你来澳门旅游却不去澳门塔,就等于没有来过澳门。从步入澳门塔底层的那一刻起,小心脏就在扑通扑通地狂跳,手心里也紧张的开始出汗。从步入玻璃子弹升降机的那一刻起,...(展开)