返回<dd>知道先前的</dd> <dt>漂亮汤-Python3

时间:2018-08-14 02:28:46

标签: python python-3.x beautifulsoup

两天前我开始使用BeautifulSoup4。 我想让allowed_domains知道先前的标签(<dd>)。 我试图从https://www.animeclick.it/anime/2683/yojouhan-shinwa-taikei中获取情节数(<dt>等,但是由于它们不是静态的(例如,有时我想要的标签并非每次都位于第三个标签中) )我想知道如何获得它。

1 个答案:

答案 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