20230202
-
HTML文件和bs4使用
HTML有下面几部分:
-
便签(tag) :
soup = BeautifulSoup('<b class="boldest">Extremely bold</b>', 'html.parser') <!-- 这就是b标签--> tag = soup.b type(tag) # <class 'bs4.element.Tag'>
-
标签名称(name)
tag.name # 'b'
标签名称可以更改
tag.name = "blockquote" tag # <blockquote class="boldest">Extremely bold</blockquote>
-
属性(attribute)
tag = BeautifulSoup('<b id="boldest">bold</b>', 'html.parser').b tag['id']
可以直接访问这个tag的attributem,会生成一个字典
tag.attrs # {'id':'boldest'}
也可以直接增加,移除或者修改一个tag的attribute:
tag['id'] = 'verybold' tag['another-attribute'] = 1 tag # <b another-attribute="1" id="verybold"></b> 这是修改 del tag['id'] del tag['another-attribute'] tag # <b>bold</b> 使用del删除tag tag['id'] # KeyError: 'id' 删除后就没办法访问了 tag.get('id') # None
-
-
bs4的对象不能使用copy模块中的deepcopy功能,执行这样的命令会导致Ipython重启,不知道为什么不兼容.