第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Selenium 從網(wǎng)站中抓取值

使用 Selenium 從網(wǎng)站中抓取值

慕慕森 2022-03-09 20:27:07
我正在嘗試從以下網(wǎng)站提取數(shù)據(jù):https://www.tipranks.com/stocks/sui/stock-analysis我的目標(biāo)是八角形中的值“6”:我相信我的目標(biāo)是正確的 xpath。這是我的代碼:import sysimport osfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryfrom selenium import webdriveros.environ['MOZ_HEADLESS'] = '1'binary = FirefoxBinary('C:/Program Files/Mozilla Firefox/firefox.exe', log_file=sys.stdout)browser = webdriver.PhantomJS(service_args=["--load-images=no", '--disk-cache=true'])url = 'https://www.tipranks.com/stocks/sui/stock-analysis'xpath = '/html/body/div[1]/div/div/div/div/main/div/div/article/div[2]/div/main/div[1]/div[2]/section[1]/div[1]/div[1]/div/svg/text/tspan'browser.get(url)element = browser.find_element_by_xpath(xpath)print(element)我可以看到問(wèn)題是由于不正確的 xpath 造成的,但無(wú)法弄清楚原因。我還應(yīng)該指出,我認(rèn)為使用 selenium 是抓取該站點(diǎn)的最佳方法,并打算提取其他值并在多個(gè)頁(yè)面上針對(duì)不同股票重復(fù)這些查詢。如果有人認(rèn)為 BeutifulSoup、lmxl 等我會(huì)更好,那么我很高興聽(tīng)到建議!提前致謝!
查看完整描述

3 回答

?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

你甚至沒(méi)有聲明所有路徑。Octagonal 在哪個(gè)類(lèi)的 div 中,client-components-ValueChange-shape__Octagon所以搜索這個(gè) div。


x = browser.find_elements_by_css_selector("div[class='client-components-ValueChange-shape__Octagon']") ## Declare which class

for all in x:

    print all.text

輸出 :


6


查看完整回答
反對(duì) 回復(fù) 2022-03-09
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以嘗試使用此 css 選擇器[class$='shape__Octagon']來(lái)定位內(nèi)容。如果我去pyppeteer,我會(huì)做以下事情:


import asyncio

from pyppeteer import launch


async def get_content(url):

    browser = await launch({"headless":True})

    [page] = await browser.pages()

    await page.goto(url)

    await page.waitForSelector("[class$='shape__Octagon']")

    value = await page.querySelectorEval("[class$='shape__Octagon']","e => e.innerText")

    return value


if __name__ == "__main__":

    url = "https://www.tipranks.com/stocks/sui/stock-analysis"

    loop = asyncio.get_event_loop()

    result = loop.run_until_complete(get_content(url))

    print(result.strip())

輸出:


6


查看完整回答
反對(duì) 回復(fù) 2022-03-09
?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊

您在這里似乎有兩個(gè)問(wèn)題:

對(duì)于 xpath,我剛剛做了:

xpath = '//div[@class="client-components-ValueChange-shape__Octagon"]'

然后做:

打?。ㄔ亍N谋荆?/p>

它得到你想要的價(jià)值。但是,您的代碼實(shí)際上并沒(méi)有等到瀏覽器完成加載頁(yè)面后才執(zhí)行 xpath。對(duì)我來(lái)說(shuō),使用 Firefox,我只有大約 40% 的時(shí)間以這種方式獲得價(jià)值。Selenium 有很多方法可以處理這個(gè)問(wèn)題,最簡(jiǎn)單的可能是在 browser.get 和 xpath 語(yǔ)句之間休眠幾秒鐘。

您似乎正在設(shè)置 Firefox,但隨后使用 Phantom。我沒(méi)有在 Phantom 上嘗試過(guò),Phantom 可能不需要睡眠行為。


查看完整回答
反對(duì) 回復(fù) 2022-03-09
  • 3 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)