2017-06-10 6 views
0

Wie kann ich Daten sammeln, was auf der Webseite angezeigt wird, nachdem eine Taste gedrückt wurde?Daten von Website-Button-Ausgabeformular sammeln

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

Wenn Sie Daten eingeben, die auf dieser Website, und klicken Sie auf Absenden, wird es eine neue Seite mit Tabelle des Top-10-ETF-Zuflüsse erstellen.

Ich bin ein Anfänger ist Webdienste und Programmierung, aber ich kenne Python und allgemeine Programmierung. Jeder Zeiger, wie man das macht, wird geschätzt.

Ich brauche die Daten nach dem Drücken der Taste für die Forschung angezeigt. Sobald ich in der Lage bin, die Daten für einen bestimmten Zeitraum zu bekommen, werde ich es so programmieren, dass ich jeden Tag tägliche oder wöchentliche Daten automatisch abrufen kann. Vielen Dank.

Antwort

1

Diese Seite hat zwei Formulareingaben. Zeigen Sie die Seite Quelle der Eingangsnamen zu bestimmen, verwenden Sie dann den 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) 

Jetzt haben Sie die HTML als response.text haben und Sie müssen es analysieren. Ich empfehle lmxl's html parser, dies zu tun, wird der Code wie folgt aussehen:

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

Sie werden mit Symbolen in zwei Listen landen.

Verwandte Themen