2017-06-10 4 views
0

ボタンを押した後にウェブページに表示されるデータをどのように収集できますか?ウェブサイトのボタン出力フォームからデータを収集

http://www.etf.com/etfanalytics/etf-fund-flows-tool

あなたがこのウェブサイトに日付を入力すると、[送信]をクリックします、それはトップ10 ETF流入のテーブルに新しいページを作成します。

私は初心者ですが、Webサービスとプログラミングですが、私はPythonと一般的なプログラミングを知っています。どのようにこれを行うためのポインタは感謝しています。

私は研究のためのボタンを押した後、表示されるデータを必要としています。 特定の日付範囲のデータを取得できたら、毎日または毎週のデータを毎日自動的に取得できるようにプログラムを作成します。ありがとう。

答えて

1

このページには2つのフォーム入力があります。 requests library to post the formを使用し、その後、入力名を決定するために、ページのソースを見る:

import requests 
response = requests.post(
    "http://www.etf.com/etfanalytics/etf-fund-flows-tool", 
    data={"startDate[date]":"2017-05-01","endDate[date]":"2017-06-01"}) 
print(reponse.text) 

今、あなたはresponse.textとしてHTMLを持っていて、それを解析する必要があります。私はそうするlmxl's html parserをお勧めします、コードは次のようになります:

from lxml import html 
tree = html.fromstring(response.text) 
top_creations_symbol_list = tree.xpath('//xpath/to/creation/symbols') 
top_redemptions_symbol_list = tree.xpath('//xpath/to/redemption/symbols') 

次の2つのリストにあなたのシンボルになってしまいます。

関連する問題