为了账号安全,请及时绑定邮箱和手机立即绑定

BeautifulSoup 类发现返回无

BeautifulSoup 类发现返回无

白衣染霜花 2022-01-18 16:23:31
我正在使用 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 类中。
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

问题是我正在使用错误的 html 参数创建 BeautifulSoup 对象。它应该是:

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

代替

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


查看完整回答
反对 回复 2022-01-18
?
慕盖茨4494581

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 是什么。


查看完整回答
反对 回复 2022-01-18
?
哔哔one

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'])


查看完整回答
反对 回复 2022-01-18
  • 3 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信