1 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
我不確定您發(fā)布的代碼發(fā)生了什么,但您可以通過(guò)find將a屬性data-symbol設(shè)置為 的元素簡(jiǎn)單地獲取該 URL GC=F。html 有 2 個(gè)這樣的元素。您想要的是第一個(gè),這是 . 返回的內(nèi)容soup.find('a', {'data-symbol': 'GC=F'}).get('href')。
import requests, urllib
from bs4 import BeautifulSoup
CommoditiesUrl = "https://in.finance.yahoo.com/commodities"
r = requests.get(CommoditiesUrl)
data = r.text
soup = BeautifulSoup(data)
gold_href = soup.find('a', {'data-symbol': 'GC=F'}).get('href')
# If it is a relative URL, we need to transform it into an absolute URL (it always is, fwiw)
if not gold_href.startswith('http'):
? ? # If you insist, you can do 'https://in.finance.yahoo.com" + gold_href
? ? gold_href = urllib.parse.urljoin(CommoditiesUrl, gold_href)
print(gold_url)
另外,我想知道是否可行,與網(wǎng)站類似,將商品符號(hào)作為我的 pandas 數(shù)據(jù)框中的超鏈接。
我對(duì)熊貓不熟悉,但我想說(shuō)答案是肯定的。
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報(bào)