我需要从url中提取所有的Nacimientos,昨天今天和明天的年份,我试图提取所有的<li>
,但是当<div>
出现时,它只提取到<div>
,尝试next_sibling
,它也不起作用。
# Página objetivo
url = "https://es.m.wikipedia.org/wiki/9_de_julio"
##Cantidad de articulos en español actuales. ##
# Obtener un requests de la URL objetivo
wikipedia2 = requests.get(url)
# Si el Status Code es OK!
if wikipedia2.status_code == 200:
nacimientos2 = soup(wikipedia2.text, "lxml")
else:
print("La página respondió con error", wikipedia.status_code)
filtro= nacimientos2.find("section", id="mf-section-2")
anios= filtro.find('ul').find_all('li')
lista2 = []
for data in anios:
lista2.append(data.text[:4])
lista2
主要问题是,你选择的焦点是第一个<ul>
和所有的<li>
,你可以简单地调整选择,而跳过<ul>
,因为你的工作在一个特定的<section>
。
作为list comprehension and
css选择器的一行:
yearList = [e.text[:4] for e in soup.select('section#mf-section-2 li')]
或基于您的代码->anios= filtro.find_all('li')
:
filtro= nacimientos2.find("section", id="mf-section-2")
anios= filtro.find_all('li')
lista2 = []
for data in anios:
lista2.append(data.text[:4])
lista2