举例:
from bs4 import BeautifulSoup
fp = open('test.html', encoding='utf-8')
soup = BeautifulSoup(fp, 'lxml')
soup.a # 1
soup.script # 2
soup.div # 3
soup.abcdefg # 4
说明:
soup实例可以使用标签名作为属性,返回封装了test.html中正序第一个该标签内容的bs4.element.Tag对象。
但是我发现属性a、script、div并没有事先定义在类中,并且即便是随便输入的属性名(#4)也不会抛出异常,只是返回一个None。
在我的认知中,对象的属性是需要事先在类中定义、或者动态绑定的,像bs4这样可以直接的使用任意属性名,是怎么实现的?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…