如何用Python BeautifulSoup4提取li标签中iframe的src属性值
解决方法
你已经成功获取到data-embed属性的内容,接下来只需要把这段HTML字符串重新传入BeautifulSoup进行二次解析,就能提取出iframe的src属性值。
示例代码
假设你已经定位到目标<li>标签,代码可以这么写:
from bs4 import BeautifulSoup # 假设这是你已获取到的目标li标签 li_tag = soup.find('li', attrs={'data-embed': True}) # 取出data-embed属性中的HTML片段 embed_html = li_tag.get('data-embed') # 对这段HTML字符串做二次解析 embed_soup = BeautifulSoup(embed_html, 'html.parser') # 提取iframe的src属性值 iframe_src = embed_soup.find('iframe')['src'] print(iframe_src)
关键逻辑说明
data-embed属性存储的是字符串形式的HTML片段,BeautifulSoup不会自动解析标签属性内部的HTML内容,必须手动将这段字符串作为新的HTML文档传入BeautifulSoup,才能用常规方法定位标签、提取属性。
对应HTML结构验证
如果你的目标HTML结构类似这样:
...
按照上述代码处理后,就能直接拿到目标链接。
内容的提问来源于stack exchange,提问作者unees kiba
相关产品推荐
相关产品推荐

