3 回答
TA贡献2051条经验 获得超10个赞
问题是我正在使用错误的 html 参数创建 BeautifulSoup 对象。它应该是:
indicator_soup = BeautifulSoup(indicator_page.text, 'html.parser')
代替
indicator_soup = BeautifulSoup(page.text, 'html.parser')
TA贡献1850条经验 获得超11个赞
如果你想要一个链接,它将 100% 在 < a > 标签中。这是我能做的最好的帮助:
from bs4 import BeautifulSoup
import urllib.request
page_url = "https://data.worldbank.org/topic/agriculture-and-rural-development?view=chart"
soup = BeautifulSoup(urllib.request.urlopen(page_url), 'lxml')
what_you_want = soup.find('a', clas_="btn-item download")
这应该会给你你想要的链接。
不确定您要在代码中做什么,因为我不知道 indicator_links 是什么。
TA贡献1854条经验 获得超8个赞
您是指btn-item downloadhtml 类中的所有链接吗?
用这个改变你的代码:
link = 'https://data.worldbank.org/topic/agriculture-and-rural-development?view=chart'
page = requests.get(link)
indicator_soup = BeautifulSoup(page.text, 'html.parser')
download = indicator_soup.find(class_="btn-item download")
for lnk in download.find_all('a', href=True):
print(lnk['href'])
添加回答
举报