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

2018-01-12 分类:爬虫 阅读(501) 评论(1)

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

 

 

您可能也喜欢:

使用python拼接所有好友的头像

这篇博客介绍一下怎么用python把多张图片按比例缩小,拼成一张图片,比如说我要把我所有微信好友的头像,到一个图片里,如下图:        咱们先不着急写代码,先分析下需求,把思路缕清,代码就好写了。 这个拼图片,就像咱们要做一个照片墙一样,做照片墙怎么做呢,假如说现在有一块640*640的一块...

more

使用python生成词云

什么是词云呢? 词云就是一些关键词组成的一个图片。大家在网上经常看到,下面看一些例子:   那用python生成一个词云的话怎么办呢,首先要有一些词,咱们随便找个吧,用see you again的歌词好了,放到again.txt里面,放着待会咱们用。 然后呢,咱们用 wrodcloud...

more

centos使用squid搭建代理服务器

我们在爬取某个网站的时候,如果有的网站做了反爬虫,如果频繁访问的话,就把我们的ip封掉了,不能访问了,那怎么办呢,就得使用代理了,代理的意思就是,先把请求发到代理上,然后代理帮你把请求发出去,这样你要爬取的网站收到的就是代理发出去的请求了。 网上有很多提供代理的网站,可以搜一下,每天都有免费的代理可...

more

评论&留言
欢迎新朋友你的到来!
已经有1 条评论抢在你前面了~
昵称

  1. 哈哈还把

    把哈哈还把

    #1
    回复

登录

忘记密码 ?

切换登录

注册