首页
学习
活动
专区
圈层
工具
发布

五.网络爬虫之BeautifulSoup基础语法万字详解

1.BeautifulSoup对象 BeautifulSoup将复杂的HTML文档转换成一个树形结构,每个节点都是Python对象,BeautifulSoup官方文档将所有的对象归纳为以下四种: Tag...print(type(tag.string)) #BeautifulSoup.NavigableString'> 注意,旧版本Python2需要通过unicode()方法可以直接将NavigableString...NavigableString对象支持遍历文档树和搜索文档树中定义的大部分属性,而字符串不能包含其它内容(tag对象却能够包含字符串或是其它tag),字符串不支持“.contents”或“.string...官方文档提醒:在旧版本Python2中,如果想在BeautifulSoup之外使用NavigableString对象,需要调用unicode()方法,将该对象转换成普通的Unicode字符串,否则就算BeautifulSoup...所以它没有name和attribute属性。

2.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    五.网络爬虫之BeautifulSoup基础语法万字详解

    1.BeautifulSoup对象 BeautifulSoup将复杂的HTML文档转换成一个树形结构,每个节点都是Python对象,BeautifulSoup官方文档将所有的对象归纳为以下四种: Tag...print(type(tag.string)) #BeautifulSoup.NavigableString'> 注意,旧版本Python2需要通过unicode()方法可以直接将NavigableString...NavigableString对象支持遍历文档树和搜索文档树中定义的大部分属性,而字符串不能包含其它内容(tag对象却能够包含字符串或是其它tag),字符串不支持“.contents”或“.string...提醒:在旧版本Python2中,如果想在BeautifulSoup之外使用NavigableString对象,需要调用unicode()方法,将该对象转换成普通的Unicode字符串,否则就算BeautifulSoup...所以它没有name和attribute属性。

    3.1K01

    数据获取:​网页解析之BeautifulSoup

    解析器 使用方式 优点 缺点 Python标准库 BeautifulSoup(html, "html.parser") Python的内置标准库、文档容错性较强 执行速度适中 lxml解析器 BeautifulSoup...'> 现在就获得了一个BeautifulSoup的对象,Beautiful Soup其实是将HTML文档转换成一个复杂的树形结构,每个节点都是Python中的对象,所有对象可以归纳为 4 种:Tag、NavigableString...NavigableString 在上面两个属性中,并没法获取标签中的内容,那么NavigableString就是用来获取标签中文本内容的,用法也比较简单,直接使用string即可。...print(type(soup)) #代码结果: BeautifulSoup'> Comment Comment对象也是一个特殊的NavigableString,读取的内容是注释里面的内容...如果是去标签属性值,跟使用字典取值方式一样。如果是获取标签的文本,直接使用get_text()方法,可以获取到标签的文本内容。

    1.1K30

    BeautifulSoup4库

    那么可以通过tag.string获取标签中的文字,底层继承了str对象,可以当作字符串来使用 from bs4.element import NavigableString 3....BeautifulSoup: BeautifulSoup 对象表示的是一个文档的全部内容.大部分时候,可以把它当作 Tag 对象,因为底层继承了Tag对象,它支持 遍历文档树 和 搜索文档树 中描述的大部分的方法.... from bs4 import BeautifulSoup 4.Comment: Tag , NavigableString , BeautifulSoup 几乎覆盖了html和xml中的所有内容,...但是还有一些特殊对象.容易让人担心的内容是文档的注释部分 Comment 对象是一个特殊类型的 NavigableString 对象,底层继承了NavigableString ; from bs4.element...get_text:获取某个标签下的子孙非标签字符串,以普通字符串形式返回 from bs4 import BeautifulSoup html = """ The

    1.5K10

    BeautifulSoup使用

    安装 pip install beautifulsoup4 解析库 解析库 使用方法 优势 劣势 Python标准库 BeautifulSoup(mk, ‘html.parser’) python的内置标准库...、执行速度适中、文档容错能力强 Python2.7 or 3.2.2前的版本中文容错能力差 lxml的HTML解析器 BeautifulSoup(mk, ‘lxml’) 速度快、文档容错能力强 需要安装...Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup , Comment ....一个Tag可能包含多个字符串或其它的Tag,这些都是这个Tag的子节点.Beautiful Soup提供了许多操作和遍历子节点的属性.注意: Beautiful Soup中字符串节点不支持这些属性,因为字符串没有子节点...soup.name # [document] print soup.attrs #{} 空字典 Comment Comment 对象是一个特殊类型的 NavigableString 对象,其实输出的内容仍然不包括注释符号

    1.4K30

    python爬虫(三)数据解析,使用bs4工具

    目录 1 BeautifulSoup4介绍 2 安装和文档: 3 简单使用: 4 四个常用的对象: 4.1 Tag: 4.2 NavigableString: 4.3 Comment: 5 遍历文档树...BeautifulSoup 用来解析 HTML 比较简单,API非常人性化,支持CSS选择器、Python标准库中的HTML解析器,也支持 lxml 的 XML解析器。...)) 4 四个常用的对象: Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag NavigatableString BeautifulSoup...'>thon 4.3 Comment: Tag , NavigableString , BeautifulSoup 几乎覆盖了html和xml中的所有内容,但是还有一些特殊对象.容易让人担心的内容是文档的注释部分...soup = BeautifulSoup(html, 'lxml') print type(soup.select('title')) print soup.select('title')[0].get_text

    1.2K10

    Beautiful Soup (一)

    的名字是'p',格式:.name 3、Attributes——标签的属性,字典形式组织,格式:.attrs 4、NavigableString——标签内非属性字符串,.....7、soup.li.string #获得a标签内非属性字符串(NavigableString )注意: soup = BeautifulSoup(data,'lxml') t = soup.li.string...3)根据关键字参数来搜索 print(soup.find_all(class_='cao')) 注:因为class是python关键字,所以关键字参数时需要加多一个下划线来进行区别 ?...img下的id值为width的标签 上面三者可以混合使用,如ul .title #width 6).get_text()方法和前面的.string属性有点不一样哈,这里的他会获取该标签的所有文本内容,不管有没有子标签...注:.string会把注释也打印出来,若标签没有内容,只有子标签有,就返回None; .get_text()不打印注释,会把标签本身和子标签内容都打印出来; 7)还可以用标签选择器来进行筛选元素, 返回的都是一个列表

    83030

    技术学习:Python(18)|爬虫篇|解析器BeautifulSoup4(一)

    Python2版本的代码,在Python3环境下安装时,会自动转换成Python3的代码,如果没有一个安装的过程,那么代码就不会被转换。...Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:Tag,NavigableString,BeautifulSoup,Comment...通过 unicode() 方法可以直接将 NavigableString 对象转换成Unicode字符串: NavigableString 对象支持 遍历文档树 和 搜索文档树 中定义的大部分属性,并非全部...因为 BeautifulSoup 对象并不是真正的HTML或XML的tag,所以它没有name和attribute属性。...但有时查看它的 .name 属性是很方便的,所以 BeautifulSoup 对象包含了一个值为 “[document]” 的特殊属性 .name。

    77320

    Python:bs4的使用

    每个节点都是Python对象,所有对象可以归纳为4种:tag,NavigableString,BeautifulSoup,Comment。...但是 BeautifulSoup 对象并不是真正的 HTM L或 XML 的 tag,它没有attribute属性,name 属性是一个值为“[document]”的特殊属性。...如果节点当中有换行符,会被当做是 NavigableString 类型节点而作为一个子节点。   NavigableString 类型节点没有 contents 属性,因为没有子节点。...  parent 属性返回某个元素(tag、NavigableString)的父节点,文档的顶层节点的父节点是 BeautifulSoup 对象,BeautifulSoup 对象的父节点是 None。...next_element 属性指向解析过程中下一个被解析的对象(tag 或 NavigableString)。   previous_element 属性指向解析过程中前一个被解析的对象。

    2.9K10

    一文入门Beautiful Soup4

    很简单:通过.string方法即可 [007S8ZIlly1ghchiehui0j31780bsdhr.jpg] BeautifulSoup(BS对象) BeautifulSoup 对象表示的是一个文档的全部内容....大部分时候,可以把它当作 Tag 对象 因为 BeautifulSoup 对象并不是真正的HTML或XML的tag,所以它没有name和attribute属性。...但有时查看它的 .name 属性是很方便的,所以 BeautifulSoup 对象包含了一个值为 “document” 的特殊属性 .name [image-20200802151433110] Comment...(注释) Tag , NavigableString , BeautifulSoup 几乎覆盖了html和xml中的所有内容,但是还有一些特殊对象.容易让人担心的内容是文档的注释部分....Comment 对象是一个特殊类型的 NavigableString 对象,其实输出的内容仍然不包括注释符号,看下面的例子: [007S8ZIlly1ghchvnud5tj31ag0haq64.jpg]

    1.4K21

    用BeautifulSoup来煲美味的汤

    BeautifulSoup的对象种类 Beautiful Soup实质是将复杂的HTML文档转换成一个复杂的树形结构(因为HTML本身就是DOM),然后每个节点都是Python对象,通过分析可以把所有对象分成...例如: soup.name >>> '[document]' 但实际上BeautifulSoup对象不是一个真正的tag,前面说了,tag有2个重要的属性name和attributes,它是没有的。...但是却可以查看它的name属性,如上面采用soup.name方式获取的“[document]”,我们可以理解为“[document]”是BeautifulSoup对象的特殊属性名字。...4、 Comment就是注释,它是一个特殊类型的NavigableString对象,为什么这么说呢,因为我们可以直接采用类似于NavigableString对象获取字符串的方式来获取注释文本...节点内容 前面说过对于NavigableString对象,我们可以采用 .string 来获取文本信息。

    2.3K30
    领券