Beautiful Soup中文文档

更新时间:2023-07-17 10:51:42 阅读: 评论:0

几个简单的浏览结构化数据的方法:
from  bs4 import  BeautifulSoup soup  = BeautifulSoup (html_doc )
print (soup .prettify ())
# <html>
我要大蜥蜴#  <head>
#  <title>
#    The Dormou's story
曹操手下
#  </title>
#  </head>
#  <body>
#  <p class="title">
#    <b>
#    The Dormou's story
#    </b>
#  </p>
#  <p class="story">
#    Once upon a time there were three little sisters; and their names were
#    <a class="sister" href="/elsie" id="link1">
#    Elsie
#    </a>
#    ,
#    <a class="sister" href="/lacie" id="link2">
#    Lacie
#    </a>
#    and
#    <a class="sister" href="/tillie" id="link2">
#    Tillie
#    </a>如何理解创新
#    ; and they lived at the bottom of a well.
#  </p>
#  <p class="story">
#    ...
#  </p>
#  </body>
新郎对新娘的简短表白# </html>
从文档中找到所有<a>标签的链接:
从文档中获取所有文字内容:
soup .title # <title>The Dormou's story</title>
soup .title .name
# u'title'
soup .title .string
# u'The Dormou's story'
soup .title .parent .name
# u'head'
soup .p
# <p class="title"><b>The Dormou's story</b></p>
soup .p ['class']
# u'title'
soup .a
# <a class="sister" href="/elsie" id="link1">Elsie</a>
soup .find_all ('a')
# [<a class="sister" href="/elsie" id="link1">Elsie</a>,
#  <a class="sister" href="/lacie" id="link2">Lacie</a>,
#  <a class="sister" href="/tillie" id="link3">Tillie</a>]
soup .find (id ="link3")
# <a class="sister" href="/tillie" id="link3">Tillie</a>
for  link  in  soup .find_all ('a'):
print (link .get ('href'))
# /elsie
# /lacie
# /tillie
这是你想要的吗?别着急,还有更好用的
安装 Beautiful Soup
如果你用的是新版的Debain 或ubuntu,那么可以通过系统的软件包管理来安装:
Beautiful Soup 4 通过PyPi 发布,所以如果你无法使用系统包管理安装,那么也可以通过 easy_install  或 pip  来安装.包的名字是 beautifulsoup4 ,这个包兼容Python2和Python3.
(在PyPi 中还有一个名字是 BeautifulSoup  的包,但那可能不是你想要的,那是 Beautiful Soup3 的发布版本,因为很多项目还在使用BS3, 所以 BeautifulSoup  包依然有效.但是如果你在编写新项目,那么你应该安装的
beautifulsoup4 )
如果你没有安装 easy_install  或 pip  ,那你也可以 下载BS4的源码 ,然后通过tup.py 来安装.
如果上述安装方法都行不通,Beautiful Soup 的发布协议允许你将BS4的代码打包在你的项目中,这样无须安装即可使用.
作者在Python2.7和Python3.2的版本下开发Beautiful Soup, 理论上Beautiful Soup 应该在所有当前的Python 版本中正常工作
石湖居士安装完成后的问题
Beautiful Soup 发布时打包成Python2版本的代码,在Python3环境下安装时,会自动转换成Python3的代码,如果没有一个安装的过程,那么代码就不会被转换.print (soup .get_text ())# The Dormou's story
#
# The Dormou's story
#
# Once upon a time there were three little sisters; and their names were
# Elsie,网易丁磊
# Lacie and
# Tillie;
# and they lived at the bottom of a well.
#
# ...
w908$ apt ‐get  install Python‐bs4$ easy_install  beautifulsoup4
$ pip  install beautifulsoup4
有创意的画$ Python  tup.py install
如果代码抛出了 ImportError  的异常: “No module named HTMLParr”, 这是因为你在Python3版本中执行Python2版本的代码.
如果代码抛出了 ImportError  的异常: “No module named html.parr”, 这是因为你在Python2版本中执行Python3版本的代码.
如果遇到上述2种情况,最好的解决方法是重新安装BeautifulSoup4.
如果在ROOT_TAG_NAME = u’[document]’代码处遇到 SyntaxError  “Invalid syntax”错误,需要将把BS4的Python 代码版本从Python2转换到Python3. 可以重新安装BS4:
或在bs4的目录中执行Python 代码版本转换脚本
安装解析器
Beautiful Soup 支持Python 标准库中的HTML 解析器,还支持一些第三方的解析器,其中一个是 lxml  .根据操作系统不同,可以选择下列方法来安装lxml:
另一个可供选择的解析器是纯Python 实现的 html5lib  , html5lib 的解析方式与浏览器相同,可以选择下列方法来安装html5lib:
下表列出了主要的解析器,以及它们的优缺点:$ Python3 tup.py install $ 2to3‐3.2 ‐w  bs4
$ apt ‐get  install Python‐lxml $ easy_install  lxml
$ pip  install lxml $ apt ‐get  install Python‐html5lib $ easy_install  html5lib
$ pip  install html5lib

本文发布于:2023-07-17 10:51:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1101234.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:安装   版本   代码   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图