python html解析查找字符串_python爬虫之html解析Beautifulsoup和Xpath

Beautiifulsoup

Beautiful Soup 是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。BeautifulSoup 用来解析 HTML 比较简单,API非常人性化,支持CSS选择器、Python标准库中的HTML解析器,也支持 lxml 的 XML解析器。Beautiful Soup 3 目前已经停止开发,推荐现在的项目使用Beautiful Soup 4。

Beautiifulsoup:python语言写的

re:C语言写的

lxml:C语言写的

速度最快的是正则,其次是lxml,最后是Beautifulsoup

安装:

pip install Beautiifulsoup4

四大对象种类

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

- Tag

- NavigableString

- BeautifulSoup

- Comment

(1)Tag

Tag 通俗点讲就是 HTML 中的一个个标签。

from bs4 importBeautiifulsoup

html="""

The Dormouse's story

The Dormouse's story

Once upon a time there were three little sisters; and their names were

,

Lacie and

Tillie;

and they lived at the bottom of a well.

...

"""

print(soup.p)#

The Dormouse's story

print(type(soup.p))#

我们可以利用 soup 加标签名轻松地获取这些标签的内容,这些对象的类型是bs4.element.Tag。对于 Tag,它有两个重要的属性,是 name 和 attrs.

print(soup.name)#[document] soup 对象本身比较特殊,它的 name 即为 [document]

print(soup.head.name)#head 对于其他内部标签,输出的值便为标签本身的名称

print(soup.p.attrs)#{'class': ['title'], 'name': 'dromouse'}

print(soup.p['class']) #取出标签的属性

print(soup.p.get('class') #取出标签的属性,找不到返回None#['title']

print(soup.a.text) #等于print(soup.a.get_text()) 取出标签下的文本内容

(2) NavigableString

NavigableString简单来讲就是一个可以遍历的字符串。

例如:

print(soup.p.string)#The Dormouse's story

print(type(soup.p.string))#

(3)BeautifulSoup

BeautifulSoup 对象表示的是一个文档的全部内容.大部分时候,可以把它当作 Tag 对象,是一个特殊的 Tag,我们可以分别获取它的类型,名称,以及属性来感受一下

printtype(soup.name)#

printsoup.name#[document]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值