早读-第8周day03-关于beautifulsoup总结二_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

其中的st,代表了tg的m。可以是纯字符串、正则表达式、列表(任⼀匹配就满⾜条件,是或运算)、T(返回所有Tg节点不返回字符串节点)。*defhasclassbutnoid(tag):该⽅法搜索当前节点的所有tag⼦节点指的是tag的name属性,字符串对象⾃动忽略。如果⼀个⼊参指定了名字,但是并不是上述提到的⼊参名字,搜索时会把该⼊参当做是tg的属性来搜索。例如:soup.find会返回tag中存在属性id,并且id对应的值是link2的tag。某些特殊属性不能这样直接使⽤,则使⽤如下⽅soup.find例如要使⽤ss属性进⾏搜索,由于ss是pto中的保留字,不能直接写成⼊参,⽬前有两种⽅法:soup.findall('',class='classvalue')soup.findall('',attrs={'class':'classvalue'})class⽅法可以使⽤全部过滤器另外,因为class是⼀个多值属性,所以只需要匹配⼀个值,就可以得到结果,所谓的匹配使⽤完全匹配时,过滤器中的字符顺序需要和实际相符合才能得到对应结搜索的是Tag中的字符串内容,可使⽤全部过滤限制返回数 all()默认是搜索当前节点的所有⼦孙节点,若只需要搜索直接的⼦节点,则recursive=False因此有了等价的简化版soup.findfind()⽅法等价于 all(limit=1),返回符合条件的第⼀个对象区别在于,前者直接返回结果,后者返回只有⼀个元素的列表。若没有对象符合条件,前者返回o,后者返回空列表。除了find()和findall()之外还有⼀些搜索的⽅法findfindnextsibling()findprevioussibling()上⾯三种可以在后⾯加's'表示所有findnext()findallnext()findallTag或BeautifulSoup对象的.select()⽅法prettify()将⽂档树格式化之后输出若不注重格式,则可使⽤python的str()或unicode()如果想得到tag中包含的⽂本内容,使⽤gettext(),可获取到当前节点的⽂本,以及⼦孙节点可以指定参数设置分隔符如 text("|")是以“”作为分隔符gettext(strip=True)可去除⽂本前后的空⽩。或者⽤.strippedstrings进⾏遍历。lxml,html5lib,python标准库。其中只有lxml⽀持xml⽂档的解析。soup使⽤Unicode编码BeautifulSoup进⾏了编码检测并⾃动转为UnicodetfSoup对象的.original cg属性来获取⾃动识别编码的结果。当然这样⽐较慢,有时候会出错。可以在创建atlp对象时,指定⼊参frmcdi来告知⽂档的编码⽅式。有时候转码时有些特殊字符替换成了特殊的Unicode,可通过BeautifulSoup对的.containsrepalcementcharacters属性来判断是否有此情况,为Tru

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论