两天前我开始使用BeautifulSoup4。
我想让allowed_domains
知道先前的标签(<dd>
)。
我试图从https://www.animeclick.it/anime/2683/yojouhan-shinwa-taikei中获取情节数(<dt>
等,但是由于它们不是静态的(例如,有时我想要的标签并非每次都位于第三个标签中) )我想知道如何获得它。
答案 0 :(得分:0)
在这种情况下,您可以使用python的zip()
方法将<dt>
和<dd>
标签压缩在一起。如果<dt>
标签将包含文本Episodi
,则您知道下一个<dd>
标签包含情节数:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.animeclick.it/anime/2683/yojouhan-shinwa-taikei')
soup = BeautifulSoup(r.text, 'lxml')
for dt, dd in zip(soup.select('#dettagli dl > dt'),
soup.select('#dettagli dl > dd')):
if 'Episodi' in dt.text.strip():
print('Number of episodes:', dd.text.strip())
break
打印:
Number of episodes: 11