[英]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.