美文网首页python爬虫小记
爬虫学习4—find、find_all函数继续接触(Beauti

爬虫学习4—find、find_all函数继续接触(Beauti

作者: JLOVEDANZI | 来源:发表于2019-03-04 11:27 被阅读87次

今儿是2019.1.29,今天是学习如何从章节目录里爬出章节信息来。如下图

我们看到章节信息都是包含在一个div层——ul层——a标签下面。我们如何把信息爬出来呢。其实昨天说了有find和find_all函数。由于我们爬的不是单个数据,那么我们决定用find_all函数。

加深印象,删除代码,重新开始敲:

问题1:但是打印的时候,发现打印出来的是<Response [200]>,而不是网页的源代码。后来发现requests.get()方法输出的是网页的对象。而非可打印出来的源代码,所以需要输出时,要print(b.text)

问题2:BeautifulSoup库中的find和find_all函数似乎必须先调用BeautifulSoup函数,然后对函数输出的结果起作用。后来查了大神的回答:

引用于:https://www.cnblogs.com/lh2018/p/10011584.html

发现这两个函数只对Tag对象起作用,我当前水平暂且认为是带标签的,比如带<div><div/>这种。就可以调用find和find_all函数。调用方法:

find_all( name , attrs , recursive , text , **kwargs )

find( name , attrs , recursive , text , **kwargs )

发现,虽然下列两个打印出来的结果相同

但是c是BeautifulSoup函数输出的Tag对象,所以可以调用find_all函数,而b.text则不行,text属于str类型,和string有点像。不属于Tag对象。我们试着用type()函数打印一下两者的属性如下:

清晰可见,两者不同类型。虽然输出直接看不出来,但是使用type()就会很清楚。

相关文章

网友评论

    本文标题:爬虫学习4—find、find_all函数继续接触(Beauti

    本文链接:https://www.haomeiwen.com/subject/dpntsqtx.html