2016-12-25 3 views
0

指定した名前と期間に基づいて表形式のデータを抽出してExcelに保存します。
これは、ここでは、リンクstock market info
は、スナップショット
enter image description here であるウェブページを「csv形式でファイルのダウンロード」のオプションがありますが、私はいくつかの100の企業データを必要とするので、私は、このプロセスを自動化したいです。与えられた入力に基づいてWebからデータを抽出するにはどうすればいいですか?

私はExcelのWebクエリオプションを試しましたが、上記のリンクは私がインポートするための表形式のシンボルを表示しません。

ちょっとした擬似コードが必要です。また、最初は可能ですか?

ありがとうございます!

答えて

3

希望します。

import requests 
from bs4 import BeautifulSoup 

symbol = "Company name" 
from_date = "19-12-2016" 
to_date = "20-12-2016" 
URL = "https://www.nseindia.com/products/dynaContent/common/productsSymbolMapping.jsp?symbol=%s&segmentLink=3&symbolCount=3&series=ALL&dateRange=+&fromDate=%s&toDate=%s&dataType=PRICEVOLUMEDELIVERABLE" % (symbol,from_date,to_date) 

r = requests.get(URL,verify=false) 
bso = BeautifulSoup(r.text,'html.parser') 

outfile = symobl+'_'+from_date+'_'+to_date+'.csv' 
data = '' 

for tag in bso.find_all('th'): 
    data += tag.text.split()+',' 
data = data[:-1]+'\n' 

for row in bso.find_all('tr')[1:]: 
    for field in row.find_all('td'): 
     data += field.text.split()+',' 
    data = data[:-1]+'\n' 

with open(outfile,'w') as f: 
    f.write(data) 
+0

ありがとうございました。私はそれが簡単だろうとは決して考えなかった。 – sandy

関連する問題