首页 > 解决方案 > BeautifulSoup Webscraping 空结果

问题描述

我正在尝试使用 BeautifulSoup 使用 IShares 网站检索有关 ETF 的信息。但是,当我尝试soup.find在表上调用该函数时,我得到了一个None类型对象。

我试图使用网络检查器来查找元素,但我被卡住了。例如,我需要提取下表中的每个代码、名称和部门:

https://www.ishares.com/uk/individual/en/products/etf-product-list?switchLocale=y&siteEntryPassthrough=true#!type=emeaIshares&tab=overview&view=list

如果您有任何帮助/建议,我将不胜感激。我是这个社区的新手,我刚开始使用 BeautifulSoup,这是我的第一个网页抓取项目。

谢谢

import requests
from bs4 import BeautifulSoup

website_url = requests.get('https://www.ishares.com/uk/individual/en/products/etf-product-list#!type=emeaIshares&tab=overview&view=list').text
My_table = soup.find('td',{'class':' colLocalExchangeTicker mobile-on'})

My_table == None

出[13]:真

如果该函数工作正常,我本来希望得到一个属性列表(href,即代码),但在这种情况下它似乎是空的。

标签: python-3.xweb-scrapingbeautifulsoup

解决方案


您可以使用 url page 获取包含所有信息的 json 内容

import requests
import json

r = requests.get('https://www.ishares.com/uk/individual/en/products/etf-product-list/1524727817681.ajax?fileType=json')
s = json.loads(r.text.strip('\ufeff'))
print(s)

推荐阅读