美文网首页
Python 3爬虫网易云(二)--每天进步一点点(Beauti

Python 3爬虫网易云(二)--每天进步一点点(Beauti

作者: 浅南丶 | 来源:发表于2017-09-14 13:05 被阅读0次

    写在前面上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据。这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据。

    运行环境我的运行环境如下:系统版本:Windows10。Python版本:Python3.6  IDE:Pycharm

    BeautifulSoup ——解析html文档

    首先来看BeautifulSoup的对象种类,在使用的过程中就会了解你获取到的东西接下来应该如何操作。Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象。所有对象可以归纳为4种类型: Tag , NavigableString , BeautifulSoup , Comment 。

    下面我们分别看看这四种类型都是什么东西。

    1>.Tag

    这个就跟HTML或者XML(还能解析XML?是的,能!)中的标签是一样一样的。我们使用find()方法返回的类型就是这个(插一句:使用find-all()返回的是多个该对象的集合,是可以用for循环遍历的。)。返回标签之后,还可以对提取标签中的信息。

    提取标签的名字:

    tag.name

    提取标签的属性:

    tag['attribute']

    我们用一个例子来了解这个类型:

    运行结果如下:

    2>.NavigableString

    NavigableString就是标签中的文本内容(不包含标签)。

    获取方式如下:

    tag.string

    还是以上面那个例子,加上下面这行,然后执行:

    print('NavigableString is:', find.string)结果得到的是

    NavigableString is: The Dormouse's story

    3>.BeautifulSoup

    BeautifulSoup对象表示一个文档的全部内容。支持遍历文档树和搜索文档树

    4>.Comment这个对象其实就是HTML和XML中的注释

    结果如下

    Hey, buddy. Want to buy a used parser?

    <class 'bs4.element.Comment'>

    相关文章

      网友评论

          本文标题:Python 3爬虫网易云(二)--每天进步一点点(Beauti

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