BeautifulSoup 类发现返回无

我正在使用 BeautifulSoup 编写一个 python 程序,它将检索网站上的下载链接。我正在使用 find 方法来检索链接所在的 html 类,但它返回 None。


我曾尝试使用父类访问此类,但没有成功。


这是我的代码


link = 'https://data.worldbank.org/topic/agriculture-and-rural-development?view=chart'


for link in indicator_links:

    indicator_page = requests.get(link)

    indicator_soup = BeautifulSoup(page.text, 'html.parser')

    download = indicator_soup.find(class_="btn-item download")

同样,我希望下载链接位于btn-item downloadhtml 类中。


白衣染霜花
浏览 185回答 3
3回答

侃侃无极

问题是我正在使用错误的 html 参数创建 BeautifulSoup 对象。它应该是:indicator_soup = BeautifulSoup(indicator_page.text, 'html.parser')代替indicator_soup = BeautifulSoup(page.text, 'html.parser')

慕盖茨4494581

如果你想要一个链接,它将 100% 在 < a > 标签中。这是我能做的最好的帮助:from bs4 import BeautifulSoupimport urllib.requestpage_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 是什么。

哔哔one

您是指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):&nbsp; &nbsp; print(lnk['href'])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python