2016-05-10 3 views
0

Also ich habe ein Problem. Ich möchte ein Programm entwerfen, das automatisch eine CSV-Datei von einer bestimmten Website abruft. Die Sache ist, ich habe keine Ahnung, wie ich das machen soll. Es scheint, dass die Schaltfläche, die zum Herunterladen der CSV-Datei verwendet wird, nicht auf diese Datei zeigt, sondern auf eine Funktion verweist, die ihre Aufgabe erledigt und eine CSV-Datei zurückgibt. Wie kann ich diese CSV-Datei von der Website abrufen? Anscheinend hat das etwas mit einem Servlet zu tun, aber ich bin mir nicht ganz sicher. DankeWie wird eine CSV-Datei von einer Website mithilfe einer Java-Anwendung abgerufen?

Edit: Es scheint, dass es nicht wirklich einen Link wie bla.com/.../myfile.csv aber eher bla.com/.../getReport.do und unabhängig davon, was ich in die Eingabe Textboxen, die auf der Website zur Verfügung gestellt werden, bleibt der Link bla.com/.../getReport.do. Das Problem, das ich habe, ist, dass ich nicht einfach die Standard-IO-Bibliotheken in Java verwenden kann, um die CSV-Datei herunterzuladen, weil ich keine Ahnung habe, wie man die Datei tatsächlich erhält, ohne sie manuell herunterzuladen.

+2

Sie Frage ist äußerst vage - ohne weitere Informationen ist es unmöglich, Ihnen zu helfen, ... – assylias

+1

Wie @assylias sagte, Ihre Frage ist vage. Entwerfen Sie ein Programm in Java EE, Java SE usw. und versuchen Sie, eine Schaltfläche zu erstellen, die eine CSV-Datei in einem festgelegten Intervall speichert? Sie müssen einige Nachforschungen zu MIME-Typen anstellen und prüfen, welchen MIME-Typ Sie zurückgeben müssen. In diesem Artikel finden Sie ein Beispiel. http://stackoverflow.com/questions/13725795/mime-type-content-type-for-opening-csv-files-using-excel-in-ie-firefox – cloudstrifebro

+0

bearbeitet. Vielen Dank. – Shatr

Antwort

1
  1. Verwenden Sie Chrome.
  2. Drücken Sie F12, um das Entwicklerfenster zu öffnen - sehen Sie sich die Registerkarte Netzwerk an.
  3. Laden Sie Ihre CSV herunter und achten Sie auf die gewünschte Datei in der Anzeige.
  4. Rechtsklick auf Ihrer CSV-Datei im Netzwerk Registerkarte Sie Lage sein sollte, wie cURL zu kopieren enter image description here
  5. Sie diesen Befehl in eine CMD-Eingabeaufforderung einfügen können (unter Windows) oder einen Bash-Terminal (in Linux oder Mac).
  6. Unter Linux richten Sie einen Cron-Job ein, um diesen Befehl regelmäßig auszuführen.

Um die Ausgabe in eine Datei zu senden ... addieren > file.txt des Befehls bis zum Ende.

curl 'http://app.toronto.ca/tmmis/getAdminReport.do' -H 'Accept: text/html, application/XHTML + xml, application/xml; q = 0,9, image/webp, /; q = 0,8' -H 'Referrer: http://app.toronto.ca/tmmis/getAdminReport.do' -H 'Ursprung: http://app.toronto.ca' -H 'Upgrade-Insecure-Anfragen: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/49.0.2623.112 Safari /537.36' -H 'Content-Type: application/x-www-form-urlencoded' --data ‚Funktion = getMemberVoteReport & download = csv & page = 0 & ItemsPerPage = 50 & sortBy = & sortOrder = & exportPublishReportId = 2 & termId = 6 & memb ERID = 2 & decisionBodyId = 0 & VonDatum = 2014.12.31 & toDate = 2016.05.10' --compressed > file1.txt

+0

Okay, ich mache mit diesem Post definitiv Fortschritte. Als ich die CURL in mein Terminal steckte, gab es mir verrückten Text. Nach der Locke '(link)' habe ich einen Text mit dem Text 'Cookie: WEBTRENDS_ID = 38.99.162.133.1462801305877877; JSESSIONID = 0000ckiWeKMpaPRWtcWHGXp9_Rj: 199aa9lg1; __atuvc = 30% 7C19; WT_FPC = ID = 38.99.162.133-1250814704.30518001: lv = 1462905070843: ss = 1462904525624 ' Was soll ich mit all dem machen? Wieder das Problem, das ich habe, ist, dass der Link nicht mit einer /myfile.csv endet, sondern mit einem Funktionsaufruf – Shatr

+0

Was ist die Website? Oder fügen Sie den gesamten Befehl ein. –

+0

http://app.toronto.ca/tmmis/getAdminReport.do?function=prepareMemberVoteReport Die csv ich will, ist in der "Download alle verfügbaren Stimmen Datensätze für die Laufzeit 2014-2018" – Shatr

Verwandte Themen