爬虫学习笔记 Beautiful Soup使用

Posted 会吐泡泡的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫学习笔记 Beautiful Soup使用相关的知识,希望对你有一定的参考价值。

上篇博客说了正则表达式,但是正则学起来比较费劲,写的时候也不好写,这次说下Beautiful Soup怎么用,这个模块是用来解析html的,它操作很简单,用起来比较方便,比正则学习起来简单多了。

这是第三方模块需要安装

 

Beautiful Soup对象

Beautiful将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:

  Tag

标签,通过html的标签取到内容, 比如说a标签,如果有多个的话,取的是第一个。

 

NavigableString

也就是内容,获取到一个标签里面的内容,文字,比如说上面title标签里面内容获取到,也就是besttest直接用tag.string即可。

 

Beautifulobj

Beautifulobj对象就是代表整个html,比如说上面的obj就是Beautifulobj对象,通过它来操作各个标签

 

Comment

Comment 对象是一个特殊类型的 NavigableString对象, 其实输出的内容仍然不包括注释符号,但是如果不好好处理它,可能会对我们的文本处理造成意想不到的麻烦。例如上面的一个a标签里面,首页是被注释了的。

 

 

 

重点操作

上面的都是通过某个标签获取到的,如果想直接获取到某些标签,获取包含某些属性的就要用其他的方法了。

 

搜索标签

 

 

css选择器

css选择器就是通过css获取元素的方式来获取html的标签,如果对css比较熟悉的人用起来就很方便了,在css选择器中 "." 代表选择的class,"#"代表选择的id。

 

节点内容

节点就是怎么获取html的各个节点,比如说和div同级的其他div,div下面的子标签等等。

 

总结

主要说了怎么获取到html里面的各种标签、元素,修改和删除没有写,因为爬虫一般用不到修改,获取数据就够了。find_all()和css选择器都很常用,如果对css比较熟悉的话,建议使用css选择器。标签搜索和css选择器这里非常的常用。

 

以上是关于爬虫学习笔记 Beautiful Soup使用的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫学习笔记.Beautiful Soup库的使用

Python爬虫学习Beautiful Soup库

Python爬虫学习使用Beautiful Soup库

python 爬虫学习--Beautiful Soup插件

爬虫学习——网页解析器Beautiful Soup

Python爬虫学习实践基于Beautiful Soup的网站解析及数据可视化