【发布时间】:2021-06-30 08:54:11
【问题描述】:
在解析“链接”标签时,soup 无法理解非斜杠标签。
示例...
import requests
from bs4 import BeautifulSoup
html = '<html>
<head>
<title>bs4bug</title>
<link rel="1"/>
<link rel="2">
<link rel="3"/>
<link rel="4"/>
<link rel="5"/>
</head>
<body>
<h1>bs4bug</h1>
<link rel="6"/>
</body>
</html>'
for num, link in enumerate(BeautifulSoup(html, 'html.parser').findAll('link'), start=1):
print(num, link)
输出:
1 <link rel="1"/>
2 <link rel="2"/>
3 <link rel="3"><link rel="4"/><link rel="5"/></link>
4 <link rel="4"/>
5 <link rel="5"/>
6 <link rel="6"/>
在我的情况下,它发生在这一行之后:
<link href="https://fonts.googleapis.com/css?family=Rubik:400,500,700,300&subset=latin" rel="stylesheet" type="text/css">
bs4,将所有 html 包装在一个未封闭的标签“链接”中。
如何解决?
【问题讨论】:
标签: parsing beautifulsoup