鱼C论坛

 找回密码
 立即注册

soup实际操作记录

已有 248 次阅读2019-1-23 16:05

soup = BeautifulSoup(html_doc)
soup.find_all(...)的返回时包含节点(title、p、a)的列表,每个列表元素是对应节点的全部内容
soup.find()只返回第一个符合条件的结果,所以soup.find()后面可以直接接.text或者get_text()来获得标签中的文本

print(soup.find(class="sister")) 报错:invalid syntax
print(soup.find(id="link3")) 就okay
为什么
解答:
用法p=soup.find('ul', id="producers"),那么可以得到<xx>...</xx>的所有结果,其特点是把标签更一步精确化以便于查找。
对于大多数的情况可以用上面的方法解决,但是有两种情况则要用到参数attrs:一是标签字符中带有-,比如data-custom;二是class不能看作标签属性。解决的办法是在attrs属性用字典进行传递参数:
soup.find(attrs={'data-custom':'xxx'})以及 soup.find(attrs={'class':'xxx'})
例如:
print(soup.find(attrs={'class':'title'}))
(原文链接:https://www.jianshu.com/p/ef2f246cae46)
tag的 .contents 属性可以将tag的子节点以列表的方式输出

find()以及find_all()返回的是节【包含其节点内容】


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-7 20:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部