2016-04-18 16 views
1

私はデータを照合して分析を行うリサーチアナリストです。pageのデータが必要です。私はvanspati Oilsの研磨材のデータが必要です(左側にあります)。私はいつもこういう問題に遭遇しています。セレンがそのようなものを扱うことができると分かりました。しかし、私はExcelにこのデータをダウンロードする方法に固執しています。私は各カテゴリーごとに1枚のエクセルシートが必要です。 私の正確な技術的な質問は、テーブルのデータをダウンロードする際の問題にどのように対処すればよいかです。私は背景調査を少し行い、テーブルにclass_nameがあればデータを抽出できることを理解しました。 from here。私はテーブルにclass="tbldata14 bdrtpg"があることがわかりましたので、私は自分のコードで使っていました。メッセージ: は、私はこのエラーにセレンを使用してデータをダウンロード

InvalidSelectorExceptionを得た bdrtpg所与セレクターtbldata14が無効であるかWebElementにはなりません。

このテーブルデータはどのようにダウンロードできますか?私がこの問題を読んで解決することができるすべての言及を教えてください。 マイコード:advance.Alsoで

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") 

おかげ[私はコピーが、それはあまりにも退屈で貼り付けるみました!]あなたは興味深いしているデータをフェッチ

+0

あなたはExcelに直接ダウンロードを持っているヤフー/グーグル/ブルームバーグのデータの同じ種類を見つけることができませんか? – findwindow

+0

私はmoneycontrolと同じビジネス分類をしたいと思います。したがって、moneycontrolページからこのデータを直接ダウンロードするのは簡単です。 – raki

+0

moneycontrolウェブサイトの利用規約を参照して、これが許可されているかどうかを判断する必要があります。 –

答えて

0

を達成することができ、別の簡単な方法がある場合に提案してください以下のように、Excelファイルにデータを書き込む

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) 

は、ここで説明されて

関連する問題