当前位置:   article > 正文

python中beautifulsoup是什么,Python Beautiful Soup简介

什么是beautifuisoup

Beautiful Soup简介

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.

BeautifulSoup

BeautifulSoup 对象表示的是一个文档的全部内容.大部分时候,可以把它当作 Tag 对象,它支持 遍历文档树 和 搜索文档树 中描述的大部分的方法.

因为 BeautifulSoup 对象并不是真正的HTML或XML的tag,所以它没有name和attribute属性.但有时查看它的 .name 属性是很方便的,所以 BeautifulSoup 对象包含了一个值为 “[document]” 的特殊属性 .name

文档解析错误

文档解析错误有两种.一种是崩溃,Beautiful Soup尝试解析一段文档结果却抛除了异常,通常是 HTMLParser.HTMLParseError .还有一种异常情况,是Beautiful Soup解析后的文档树看起来与原来的内容相差很多.

这些错误几乎都不是Beautiful Soup的原因,这不会是因为Beautiful Soup得代码写的太优秀,而是因为Beautiful Soup没有包含任何文档解析代码.异常产生自被依赖的解析器,如果解析器不能很好的解析出当前的文档,那么最好的办法是换一个解析器.

最常见的解析错误是 HTMLParser.HTMLParseError: malformed start tag 和 HTMLParser.HTMLParseError: bad end tag .这都是由Python内置的解析器引起的,解决方法是 安装lxml或html5lib

最常见的异常现象是当前文档找不到指定的Tag,而这个Tag光是用眼睛就足够发现的了. find_all() 方法返回 [] ,而 find() 方法返回 None .这是Python内置解析器的又一个问题: 解析器会跳过那些它不知道的tag.解决方法还是 安装lxml或html5lib

示例代码

# -*- coding:UTF-8 -*-

#!/usr/bin/python3

import requests

from bs4 import BeautifulSoup

r = requests.get('')

soup = BeautifulSoup(r.text)

print("---------------------------------")

print(soup.title)

print("---------------------------------")

print(soup.title.name)

print("---------------------------------")

print(soup.title.string)

print("---------------------------------")

print(soup.title.parent.name)

print("---------------------------------")

print(soup.p)

print("---------------------------------")

print(soup.p['class'])

print("---------------------------------")

print(soup.a)

print("---------------------------------")

for link in soup.find_all('a'):

print(link.get('href'))

print("---------------------------------")

print(soup.body.text)

print("---------------------------------")

输出结果:

---------------------------------

网易

---------------------------------

title

---------------------------------

网易

---------------------------------

head

---------------------------------

一周图片精选:2015.3.7-3.13

---------------------------------

['pos-abs']

---------------------------------

应用

---------------------------------

#f=topnav

···

---------------------------------

应用

网易新闻

网易云音乐

网易云阅读

有道云笔记

···

---------------------------------

更多介绍可参考

整理自网络

svoid

2015-03-14

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/203096
推荐阅读
相关标签
  

闽ICP备14008679号