1

私は自分のクラスで小さなプロジェクトを行っていますが、私は初心者なので、用語の一部が混同されている場合はご容赦ください。

基本的に、私は自分の街の公共交通機関用のインタラクティブなジャーニー プランナーを作成しています。残念ながら、彼らは私が必要とするすべてのデータを公開していません。そのため、個人的な使用のためにデータを収集することにすべての時間を費やす代わりに、スクリーン スクレイピングを行うことにしました。サーバーに START 変数と STOP 変数から旅の情報を計算させ、選択した情報をページに表示します。

では、フォームのフィールドにリモートで入力し、その後ロードされるページのデータをスクレイピングすることは可能でしょうか? もしそうなら、最も速くて便利な方法は何ですか? これは、たまたま URL を介してデータを操作できない場合であるため、最初にフォームに入力してデータにアクセスする必要があります。

当該ウェブサイト:http: //jp.translink.com.au/travel-information/journey-planner

4

1 に答える 1

1

できることは次のとおりです。

1.) そのようなデータを含む POST リクエストを に送信しますjourney-planner(CORS が飛び込む可能性があることに注意してください。その後、PHP などを介して cURL を使用できます)。

Start:Wickham Tce, Spring Hill
End:Upper Edward St, Spring Hill
SearchDate:10/05/2013 12:00:00 AM
TimeSearchMode:LeaveAfter
SearchHour:7
SearchMinute:40
TimeMeridiem:AM
TransportModes:Bus
TransportModes:Train
TransportModes:Ferry
MaximumWalkingDistance:1500
WalkingSpeed:Normal
ServiceTypes:Regular
ServiceTypes:Express
ServiceTypes:NightLink
FareTypes:Standard
FareTypes:Prepaid
FareTypes:Free

2.) 新しい応答場所が表示されます。これは REST リンクのようです。あなたにとって重要なのidは最後にあります。そのページを呼び出して HTML を解析divし、HTML-id を持つを探す必要があります。ここで、 内の詳細情報をoption-summaries見つけることができます。保存されている情報と、それをどのように使用できるかを確認するには、注意深く確認する必要があります。divtravel-option-1travel-option-n

そのようなものを見つけるには、Firebug や Chrome の開発ツールの使い方を学ぶ必要があります。

これは、問題を解決する 1 つの方法です。おそらく最高ではありませんが、「スクリーンスクレイピング」よりは優れています。しかし、それはあなたに多くのスキルと努力を要求します。さらに、データ プロバイダーが少し変更されると、ソリューションは機能しなくなります。さらに、 CORSなどによるアクセスを妨げる可能性があります (IP のブロックなど)。

于 2013-05-09T19:39:05.760 に答える