爬虫学习笔记(五) Beautiful Soup使用

2018-01-12 分类:爬虫 阅读(18) 评论(0)

上篇博客说了正则表达式,但是正则学起来比较费劲,写的时候也不好写,这次说下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选择器这里非常的常用。

 

 

您可能也喜欢:

爬虫学习笔记(三)requests模块使用

前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了。 这篇博客说一下requests模块的使用,requests模块是python的一个第三方模块,它是基于python自带的urllib模块封装的,用来发送http...

more

爬虫学习笔记(二)http请求详解

上篇博客里面写了,爬虫就是发http请求(浏览器里面打开发送的都是http请求),然后获取到response,咱们再从response里面找到想要的数据,存储到本地。 咱们本章就来说一下什么是http请求,它里面都有哪些东西,我们在写爬虫的时候,怎么http请求里面哪些对我们的爬虫有影响。 http...

more

爬虫学习笔记(一)初识爬虫

什么是爬虫?   爬虫是什么呢,就是地上爬的小虫子,就是爬虫咯。呵呵,开个玩笑,一般说的爬虫都是网络爬虫。那什么是网络爬虫呢,百度百科的解释是这样子的: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或...

more

评论&留言
欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称

登录

忘记密码 ?

切换登录

注册