您好,欢迎光临本网站![请登录][注册会员]  
文件名称: Beautiful Soup 4官方翻译版.pdf
  所属分类: Python
  开发工具:
  文件大小: 863kb
  下载次数: 0
  上传时间: 2019-10-08
  提 供 者: weixin_********
 详细说明:Beautiful Soup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup 会帮你节省数小时甚至数天的工作时间Kaclass="sisterhref="http://example.com/tillieid="link2> ##### Tillie and they lived at the bottom of a weLL. < p class="story"> # #

#(/body> f 几个简单的浏览结构化数据的方法: soup. title f The Dormouse 's story soup. titlename #u title soup. title string #f u The Dormouse 's story soup. title. parent name u neaa soup. p #f

elsiE soup. find all(a) #f[aclass=sister"href=http://example.com/elsie"id="link1">elsiE/a>, #aclass=sisterhref="http://example.com/lacie"id="link2">laciEs/a>, #tillies/a> soup. find(id="link") #tillIes/a> 从文档中找到所有标签的链接: for link in soup. find all(a): print(link get( href ) #fhttp://example.com/elsie #fhttp://example.com/lacie #http://example.com/tillie 从文档中获取所有文字内容 print( soup. get text() #f The Dormouse s story #f The Dormouse s story # #f Once upon a time there were three little sisters, and their names were #f elsie tf Lacie and f Tillie #f and they lived at the bottom of a weLl # 这是你想要的吗别着急,还有更好用的 安装 Beautiful Soup 如果你用的是新版的 Debain或 ubuntu,那么可以通过系统的软件包管理来安装: g apt-get install Python-bs4 Beautiful soup4通过Pyi发布,所以如果你无法使用系统包管理安装,那么也可以通 过easy_ insta11或pip来安装包的名字是 beautifu1soup4,这个包兼容 Python2和 Python3 g easy install beautifulsoup4 s pip install beautifulsoup4 (在yPi中还有个名字是 Beautifu1soup的包,但那可能不是你想要的,那是 Beautiful Soup3 的发布版本,因为很多项目还在使用BS3,所以 Beauti fu15oup包依然有效但是如果你在编写 新项凵,那么你应该安装的 beautifulsoup4) 如果你没有安装 easy insta1l或pip,那你也可以下载Bs4的源码,然后通过 setup:py米安 装 s Python setup. py install 如果上述安装方法都行不通, Beautiful soup的发布协议允许你将BS4的代码打包在你的项目 中,这样无须安装即可使用 作者在 Python2.7和 thon3.2的版本下开发 Beautiful Soup,理论上 Beautiful Soup应该在所 有当前的 Python版本中正常工作 安装完成后的问题 Beautiful soup发布时打包成 Pythona版本的代码,在 Python3环境下安装时,会自动转换成 Python3的代码,如果没有一个安装的过程,那么代码就不会被转换 如果代抛出了 ImportError的异常:“ No module named htmlparser,这是因为你在 Python3版本中执行 Python2版本的代码 如果代码抛出了 ImportError的异常:“Nom tml parser”,这是因为你在 Python2 版本中执行 Python3版本的代码 如果遇到上述2种情况,最好的解决方法是重新安装 Bcautifulsoup4. 如果在 ROOT TAG NAME=u{ document代码处遇到 SyntaxError" Invalid syntax”错误,需要 将把BS4的 Python代码版本从 Python2转换到 othon3.可以重新安装BS4 s pythons setup. py install 或在bs4的目录中执行 Python代码版本转换脚本 $2to3-3.2-Wbs4 安裝解析器 Beautiful Soup支持 Python标准库中的HIML解析器,还支持一些第三方的解析器,其中一个 是knl根据操作系统不同,可以选择下列方法来安装kml s apt-get install Python -lxml s easy install xml s pip install lxml 另一个可供选择的解析器是纯 Python实现的html5lib,html5lib的解析方式与浏览器相同,可 以选择下列方法来安装hm5lib s apt-get install Python-html5lib s easy install htm15lib s pip install html5lib 下表列出了主要的解析器,以及它们的优缺点: 解析器 使用方法 优势 劣势 Python的内置标准库 Python 2.7.3 Python标‖ BeautifulSoup( markup 执行速度适中 or3.2.2)前 准库 html parser") 的版本中文档 文档容错能力强 容错能力差 1 xm1 HTML BeautifulSoup( markup 速度快 需要安装C语 解析器 "1xm1") 文档容错能力强 库 BeautifulSoup(markup I xmI XML ,["1xm1-×m1"]) 速度快 需要安装C语 解析器 唯一支持XML的解析器 言库 BeautifulSoup( markup J Xml 最好的容错性 速度慢 html5lib BeautifulSoup( markup·以浏览器的方式解析文档 不依赖外部扩 htm15lib") 生成HTM5格式的文档 展 推荐使用kxml作为解析器,因为效率更高.在 Python2.7.3之前的版本和 Python3中3.2.2之前 的版本,必须安装kxml或html5ib,因为那些 Python版本的标准库中内置的HIML解析方法 不够稳定 提示:如果一段HTML或ⅪML文档格式不正确的话,那么在不同的解析器中返回的结果可能 是不一样的,查看解析器之间的区别了解更多细节 如何使用 将一段文档传入 BeautifulSoup的构造方法,就能得到一个文档的对象,可以传入一段字符串 或一个文件句柄 from bs4 import Beautiful Soup soup=BeautifulSoup(open("index.htm1")) soup= BeautifulSoup("data") 首先,文档被转换成 Unicode,并且IML的实例都被转换成 Unicode编码 BeautifulSoup(" Sacré bleu!") head>Sacre bleu! 然后, Beautiful soup选择最合适的解析器来解析这段文档,如果手动指定解析器那么 Beautiful Soup会选择指定的解析器来解析文档、参考解析成XML) 对象的种类 Bcautiful soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是 Python对象,所有 对象可以归纳为4种:Tag, Navigablestring, Beautifu15oup, Comment Tas Tag对象与XML或HIML原生文档中的tag相同: soup= BeautifulSoup ('Extremely bold') tag= soup.b type(tag) #f Tag有很多方法和属性在遍历文档树和搜索文档树中有详细解释.现在介绍一下tag中最重 要的属性:name和 attributes ame 每个tag都有自己的名字通过.name来获取: tag name fub 如果改变了tag的name,那将影响所有通过当前 Beautiful Soup对象生成的HTML文档: tag name ="blockquote tag #f

有一个“clas”的属性值为“ boldest tag的属性的操作方法与字典相同: tag[ ' class #u boldest 也可以直接”点”取属性,比如:atrs tag. attrs f tu 'class: u 'boldest tag的属性可以被添加删除或修改.再说一次,tag的属性操作方法与字典一样 tag[ ' class]=verybold tag[ id]=1 tag

') css soup. p[ class'1 #/"body"strikeout" css soup= Beautiful Soup(

(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

 输入关键字,在本站1000多万海量源码库中尽情搜索: