時間通りにレールによるものですか?

個人的には、私は列車のファンです。彼らはゆっくりと、国を乗り越える方法です。カナダは鉄道輸送のための最高の候補者ではなく、沿岸の間のかなり大きな地域を提供していますが、鉄道はウィンザーとケベックシティとの間の廊下で日常的な列車サービスを運営しています。

残念ながら、トラベラーレールはカナダの工業鉄道に遅れを引き起こしていなければなりません。いくつかの列車が非常に定期的な遅れを持っていることを通知した後、それは電車によってそれぞれの典型的な性能を理解することが有益であるように思われました。これにより、このデータを公に供給しない。

ただし、出発時期だけでなく到着に関するデータを一部提供しています。レールサイトで任意の種類のブラウザで提供されるデータを掘り下げると、過去のスケジュール/実際の到着データを問い合わせることができました。結果はTrainStats.ca、ビアの画面でタイムリーな方法でパフォーマンスが得られます。私があなたの次の列車のチケットを得るときに、私はこれがすべてうまくいくのか、そしてまさにこのすべての作品を正確に行く方法だけでなく、休憩の後に私に参加してください。

データを取得する

Viaは、その条件ページに翌日だけでなく、以前の、現在、および翌日のルーチンデータを供給しています。これにより、一連の旅行データを開発しましょう。幸いなことに、私たちはChromeのインスペクタを終了したり、この取得要求を発見したりできます。

http://reservia.viarail.ca/tsi/gettrainStatus.aspx?l=en&tsiccode=87&departuredate=2015-12-01&trainInStandate=2015-12-01&t=144903500354.

ここでいくつかのジューシーなパラメータがあります。 TSitrainNumberは間違いなく私たちが見ている電車番号です。出発は、電車が去った日、到着日が到着した日です。トレーニング標高も同様に電車が残っている日付に設定されているようです。これを念頭に置いて、Pythonにジャンプする時間だけでなく、素晴らしいリクエストライブラリを利用して要求を作成する時が来ました。

このデータは、以下に表示されるものとは異なる方法で解釈またはコンパイルされ得る双方向のUnicodeテキストで構成されています。隠しUnicode文字を公開するエディタでデータを開くには、エディタでデータを開きます。
双方向のUnicodeキャラクターについてもっとたくさん発見してください

隠されたキャラクターを表示

Payload = {‘L’: ‘en’、

‘tsiccode’: ‘via’、

‘tsitrainnumber’:train_number、

「出発飼育」:Trip_Date、

‘到着日’:trip_date、

‘traininstancedate’:trip_date}

r = requests.get( ‘http://reservia.viarail.ca/tsi/gettrainStatus.aspx& #39;

params =ペイロード)

生の眺め

request.py

Githubによって開催されました

このコードを使用すると、任意の種類の日付に任意の種類の列車番号のデータを取得できます。いくつかのテストの後、私たちは、経由のデータが2015年4月に戻ってきたことを発見しました。これは、6か月以上のデータを提供します。すべての旅行のために、私たちは手配と実際の到着と各駅の出発時間を取得します。その情報を維持すると、列車がどのように遅れたかを正確に判断できます。

ページデータがHTMLとして取得された状態で、BeautifulSoupを使用してスクリプトがまとめられてすべての値を抽出しました。その後、このスクリプトはTripデータのオブジェクトを作成し、SQLAlchemyを使用してPostgreSQLデータベースに格納されます。これにより、後でデータにアクセスするのに効果的なものと同様に簡単になります。

最後のステップは、すべての電車番号とデータを引っ張る日数を繰り返すことでした。このスクリプトは、一部のネストされたループを利用してデータの保留と保存します。もう1つのスクリプトは、前日のデータをデータベースに保存します。これはcronジョブに設定されているので、データベースは新鮮に留まります。

(安い)ウェブサイトを構築する

trainstats.caのウェブサイト
この時点で、12,000以上の旅行に到着データがあります。プロットを作成するためのクエリを手動で実行することはできますが、プロットを作成するためのスクリプトを作成することはできます。それはそれがウェブサイトを開発する時が来たことを示しています。物事をウェブに素晴らしくすることは私の強いものではありません、それで[Phil Everson]はいくつかのWeb開発をするために飛び込んだ。

制約を追加するには、できるだけ手頃な価格のサイトを実行することを望みました。 Herokuのようなサービスオファリングとしてのプラットフォームは、月に20ドルを走行しました。ジジュアロースからのオンライン個人サーバーは少なくとも5ドルを犠牲にします。最も安価な選択は静的サイトを作ることでした。

静的Webページは、地理科学の日に戻る旅行です。ファイルを保持することができますが、サーバー上ではあらゆる種類の処理を行うことはできません。幸いなことに、これは私たちが提供していたデータの種類にうまく機能しました。集約されたトリップデータはすべてJSONファイルにエクスポートされる可能性があります。クライアント側のJavaScriptは、データとスクリーンプロットをトンすることができます。

TrainStatsサイトは、いくつかのHTML、CSS、およびブラウザ内で実行されるJavaScriptと、データを含むJSONデータのコレクションで構成されています。データセットは毎日生成されますもう1つのCronジョブによって、それはすべての処理が地域のコンピュータ上で1つのうちに行われることを可能にする。 その後、Amazon Web Servicesコマンドラインインターフェイスを利用して、データをS3にプッシュし、そこでユーザーが検索できます。 データセットは小さいのでS3だけでなく、コストは通常のホスティングよりも低くなります。

結果

このハックは主に楽しみのために開発されました、しかしそれはいくつかの魅力的な知見を持っています。 私の通常のオタワにトロントルートから、私は、84%の時間の84%の列車を選択するのは、38%の旅行の28%を遅らせるためだけに局所的な方法を選ぶ可能性が高くなります。 他の何人かの旅行者は統計を発見するかもしれません。 どちらの方法でも、安価にWebサービスを提供するだけでなく、データセットを削除するのに魅力的な行使でした。

あなたが源泉について考えているならば、それは撮影のためにgithubに全部です。 私たちはあなたがそれを使ってRailによってddosしないことを親切に要求します。

Leave a Reply

Your email address will not be published.

Related Post

このiPhoneアプリを使用すると、拡張された真理ボタンこのiPhoneアプリを使用すると、拡張された真理ボタン

を利用してHomeKitガジェットを管理できます。ドラゴンがバスケットボールコートを横切ったり、少なくとも部屋でIkeaの家具を想像したりする以外に、Arkitの使用を発見した可能性があります。 Appleは、iOS 12とともにArkit 2.0を導入し、イノベーション全体について強気であり続けています。 私たちはこれまでのところ実際の利用について疑わしかったが、デザイナーのLinkdeskはガジェットアプリでそれをすべて理解したかもしれない。最も簡単な形で、ガジェットは、個人が本物の世界でオンラインボタンを生成し、それらのボタンをホームキットデバイスに結びつけることができます。 その結果、拡張現実内でタップできるボタンがあり、そのボタンを保持してから、物事の構成方法に応じてホームキットアクセサリを制御します。 iPhoneまたはiPadカメラを自宅の本物のガジェットに向けてください。オンラインコントローラーを適切なデバイスに配置すると、それ自体に接続します。それ以降、適切なコントローラーは常に適切なタイミングで表示されます。部屋に浮かぶコントローラーを1つだけタップするだけで、ランプ、窓のカバー、アウトレットなどのホームキットガジェットを管理できます。 それが驚くべきように思えば、それはそうです。このアプリをテストしているだけでなく、本物の世界に表示されているボタンをタップしたり、HomeKitと対話することができることは非常に注目に値します。このことができることの例については、開発者のビデオを検査します。また、ダウンロードしたり、自分で試してみてください。それは絶対に無料で、これまでのところ、私たちの心を吹き飛ばしています。 もちろん、これを使用することは、ハウスアプリを使用するよりも簡単なものであるかどうかは議論の余地がありますが、携帯電話を何かに向けることを要求し、すぐにそれを管理できるようにすることを要求する場合、これはあなたのためのアプリです。 (ダウンロード:ガジェット – iPhone用のHomeKitの管理、App StoreのiPad) 同様に検査するのが好きかもしれません: iOS 12.1.1をiOS 12.1にダウングレードする方法 iOS 12.1.1最終的なIPSWリンクとiPhoneのOTAアップデートとiPadのダウンロード iOS 12.1.1最終変更、リリースノート、機能:新しいものは次のとおりです 脱獄iOS 12.1.1:アップルの詳細イアンビールの脱獄エクスプロイト最新のファームウェアでパッチ 脱獄iOS 12.1 / iOS 12アップデート:サンドボックスゲッタウェイが公開 Jailbreak iOS

Hack Chatを呼び出すHack Chatを呼び出す

週刊Hackaday.ioは、ソートのAMAを備えています。これはハックチャット、私たちがテクニック、エンジニアリング、そしてまさに非常に最高のハードウェアを開発する方法について話すためにビジネスで最高のビジネスで座っているチャットルームです。最後の数ヶ月間、私たちはESP32、[Lady Ada]とMicropytyon、Micropython、Micropythonの、Raspberry PIのRoger Thornton、Micropery Thornton、Micropery Thorntonを紹介しました。 [Samy Kamkar]リバースエンジニアリングについて話すだけでなく、ハードウェアを壊すだけでなく、「Bunnie’s」を鳴らしています。 今、私たちは議論をリードするための新しい共催者を探しています。あなたがスキルを持っているならば、私たちはあなたから聞きたいです。 私たちは、彼らがしていることについて議論をリードする専門家を探しています。あなたが新しいハードウェア製品を持っているならば、Hackadayコミュニティからいくつかのコメントを受けながら生産に就く物語を共有したいのなら、これはそれをする場所です。私たちは私たちが彼らの脳を選ぶことを可能にするさまざまな人々を探しています。 16層のPCBを設計したことがある場合は、(そしてなぜ)したのか正確に理解したいです。あなたがロボット工学を建設しているならば、私たちはあなたから聞きたいです。あなたが組み込みシステムウィザードであれば、これはあなたの輝く時間です。 これを入手したい場合は、電子メールを送信してください。私たちは1週間、毎週金曜日、時空、太平洋地域の周りの時点でのハックチャットをしています。これはあなたがあなたがインターネット上の非常に最高のハードウェア近隣の1つであなたが理解したものを共有するための優れたチャンスです。 11月にハッカデーのスーパーコントロールを提供することを信じている場合、それは優れた方法です。 今週:とにかく磁石はどのように働いていますか? 磁石がどのように機能するのか正確に理解していますか?あなたがしないプログラムのうち、誰もいません。しかし、トピックについての最も深い理解を持つ人々の1人は、Nano Magnetics LtdのプロトタイプエンジニアであるJeremy Chanです。今週の金曜日は正午PST Jeremyに磁気に関するハックチャットを導きます。 話すべきものは何ですか? Jeremyは、磁石がどのように磁化されているかを正確にカバーします。彼は異なるグレードの磁石、ならびにさまざまな磁気検知機構をカバーするでしょう。彼は同様に最も魅力的な磁気現象のいくつかに入ります。正確には、マグネットの専門家とどのくらいの一般的に刻まれますか?この金曜日にお会いしましょう!

Windows 10のオリジナル許可を14ドル、Windows11で20ドル、Microsoft Officeがわずか24ドルで、Microsoftの最も重要なリリース要件でお金を節約したい人はいない人が見ていない人は、90%Windows 10のオリジナル許可を14ドル、Windows11で20ドル、Microsoft Officeがわずか24ドルで、Microsoftの最も重要なリリース要件でお金を節約したい人はいない人が見ていない人は、90%

を得ることができます。あらゆる種類のさらに – これらのオファーはあなたが必要とするものです。下にスクロールするだけでなく、最高級のオファーを選択してください。 これらのコストが長い間提供されるとは期待していませんが、それらを利用するために必要なことを理解しています。取引を選択し、リンクをクリックして、割引レートコードRMPに移動して膨大な数字を節約しますWindows 11 ProやOffice 2019 Pro Plusなど、Microsoftの最高のリリース。 そうは言っても、それに飛び込みましょう。 購入:Windows 10 Pro Worldwideの長期アクティベーション:コードRMPで14.40ドル|オリジナルのコスト53ドル 購入:Windows 10 House Worldwideの長期アクティベーション:コードRMPで13.50ドル|オリジナルのコスト105ドル 購入:Office 2016 Pro Plus Worldwideの長期アクティベーション:コードRMPで24.70ドル|オリジナルのコスト225ドル 購入:Office 2019 Pro Plus Worldwideの長期アクティベーション:コードRMPで44.20ドル|オリジナルのコスト225ドル 購入:Windows 10