无法获得超链接href美丽的汤

时间:2020-03-15 05:52:24

标签: python html beautifulsoup

我正在尝试获取锚点(a)元素的超链接,但我不断得到:

h ttps://in.finance.yahoo.com/h ttps://in.finance.yahoo.com/

enter image description here 我已经尝试过此处提供的所有解决方案:link

这是我的代码:

href_links = []
symbols = []
prices = []
commodities = []

CommoditiesUrl = "https://in.finance.yahoo.com/commodities"
r = requests.get(CommoditiesUrl)
data = r.text
soup = BeautifulSoup(data)

counter = 40
for i in range(40, 404, 14):
    for row in soup.find_all('tbody'):
        for srow in row.find_all('tr'):
            for symbol in srow.find_all('td', attrs={'class':'data-col0'}):
                symbols.append(symbol.text)
                href_link =  soup.find('a').get('href')
                href_links.append('https://in.finance.yahoo.com/' + href_link)
            for commodity in srow.find_all('td', attrs={'class':'data-col1'}):
                 commodities.append(commodity.text)
            for price in srow.find_all('td', attrs={'class':'data-col2'}):
                prices.append(price.text)


pd.DataFrame({"Links": href_links, "Symbol": symbols, "Commodity": commodities, "Prices": prices })

此外,我想知道,与网站类似,在熊猫数据框中将商品符号作为超链接也是可行的。

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定您发布的代码是怎么回事,但是您可以通过find设置属性a为{{ 1}}。 html有2个这样的元素。您想要的是第一个,即data-symbol返回的值。

GC=F

此外,我想知道,与网站类似,在熊猫数据框中将商品符号作为超链接也是可行的。

我不熟悉熊猫,但我想答案是肯定的。参见:How to create a table with clickable hyperlink in pandas & Jupyter Notebook