簡體   English   中英

使用selenium下載數據

[英]Download data using selenium

我是一名研究分析師,試圖整理數據並進行分析。我需要這個頁面的數據。 我需要研磨劑的數據到vanspati Oils(你會在左側找到它)。 我總是遇到這樣的問題,我發現selenium能夠處理這些東西。 但我仍然堅持如何將這些數據下載到Excel中。 我需要為每個類別提供一張excel表。 我確切的技術問題是如何解決下載表數據的問題。我做了一些背景研究,並了解如果表具有class_name,則可以提取數據。 從這里開始 我看到該表有class="tbldata14 bdrtpg"所以我在我的代碼中使用它。 我收到了這個錯誤

InvalidSelectorException:消息:給定的選擇器tbldata14 bdrtpg無效或不會導致WebElement。

如何下載此表數據? 請指出我可以閱讀並解決此問題的任何參考資料。 我的代碼:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()

driver.get("http://www.moneycontrol.com/stocks/marketinfo/netprofit/bse/index.html")
elem=driver.find_element_by_class_name("tbldata14 bdrtpg")

在此先感謝。也請建議是否有另一種簡單的方法[我嘗試復制粘貼它太繁瑣!]

獲取您感興趣的數據可以實現如下,

from selenium import webdriver

url = "http://www.moneycontrol.com/stocks/marketinfo/netprofit/bse/index.html"

# Get table-cells where the cell contains an anchor or text   
xpath = "//table[@class='tbldata14 bdrtpg']//tr//td[child::a|text()]"

driver = webdriver.Firefox()    
driver.get(url)
data = driver.find_elements_by_xpath(xpath)

# Group the output where each row contains 5 elements
rows=[data[x:x+5] for x in xrange(0, len(data), 5)]
for r in rows:
    print "Company {}, Last Price {}, Change {}, % Change {}, Net Profit {}" \
        .format(r[0].text, r[1].text, r[2].text, r[3].text, r[4].text)

這里解釋了將數據寫入excel文件,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM