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

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

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

ただし、出発時期だけでなく到着に関するデータを一部提供しています。レールサイトで任意の種類のブラウザで提供されるデータを掘り下げると、過去のスケジュール/実際の到着データを問い合わせることができました。結果は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

iOS 9は「Hey Siri」音声トレーニングを特徴としています。まさにその仕組みiOS 9は「Hey Siri」音声トレーニングを特徴としています。まさにその仕組み

は通常、ゴールデンマスター(GM)シードは通常、一般にオンラインに行く前に最終的な修正セットを表します。実際、それは通常、世界中のガジェットに実際に押し出されるGMとまったく同じ開発数です。私たちは今、iOS 9で起こっていることに非常に近いです。これには、新しいSiri関連の機能が含まれており、新しいSiri関連の機能が含まれています。機能。 Siriの日常的なユーザーである場合、現在の形で「Hey Siri」パフォーマンスを活用している可能性が高いでしょう。本質的には、siriを「Hey Siri」と述べることで完全に完全に自由に引き起こすことができます。しかし、キャッチがあります。現在の状態であるため、ガジェットは可聴命令を認識する前に電源に接続する必要があります。 iPhone 6sとiPhone 6s Plusの導入は、新しいM9コプロセッサのおかげで、Siriに本当に「常に」体験を提供することで、これらの制限を廃止します。 IOS 9の「Hey Siri」のこの新しい音声トレーニングウィザードをAppleのアプリケーションは、非常に簡単であるだけでなく、個人を育てるだけでなく、非常に少ない騒ぎでできるだけ迅速に走るために開発されました。それはあなたの声をよりよく認めるのを助けるためにそこにあります。システムは、個人が読み取り、さまざまなフレーズを連続して話し、Siriがユーザーの音声パターンの発音を聞き、分析し、スポットし、保存できるようにすることを要求します。 Siriがそのレベルの検出に満足している場合にのみ、アシスタントは個人が次の段階に進むことができます。エンドツーエンドのプロセス全体には、5つのステップが含まれており、「Hey Siri」などの繰り返しフレーズや「Hey Siri、It’s Me」が含まれています。 開始するには、iPhone、iPad、またはiPod Touchを9 gm以降に実行している場合は、設定に移動します – > general-> siriとSiriのトグルをオンにします。次に、「Hey Siri」を有効にするために、トグルをオンにし、セットアップします。 最終的なiOS 9ビルドの一部としての新しい音声トレーニング機能の導入は、SIRIと対話しようとする際に検出の精度を高めるために存在するようです。新しい関数は、ガジェットの所有者のみが常に機能上で「Hey Siri」をアクティブにすることができることを保証することを意図している可能性についていくつかの議論がありましたが、その理論をサポートする実際の証拠の種類はないようです。 AppleはいつかSiriが訓練された「所有者」の声だけに答えることを延長するという見込み客がいますが、その日はまだここにないようです。 同様に検査するのが好きかもしれません: iOS

スマートフォンの画面とタッチスクリーンあなたが理解するために必要なすべてスマートフォンの画面とタッチスクリーンあなたが理解するために必要なすべて

私たちは、スマートフォンのさまざまな要素を理解する人々を支援するシリーズを公開しています。今日は、スマートフォン画面のすべての要素とタッチスクリーンについて説明します。スマートフォンの画面は長年にわたって大きく進化してきました。最初のタッチスクリーンモバイルであるIBM Simonは1992年にメソッドをリリースしましたが、AppleがiPhoneをリリースした2007年まで、イノベーションはほとんど気付かれませんでした。 人気の急速な利益とコストの生成の減少は、テクノロジーの素晴らしい進歩をもたらし、スマートフォンの画面とタッチスクリーンを薄く、耐久性があり、正確で、速くしました。同様に、並行して改善することは画面の品質です。今日のスマートフォンは、ティニエに詰め込んだり、画面内のティニエピクセルを詰めたり、速いGPUと結合したりすることで、見事な人生のような写真をレンダリングします。 スマートフォンの典型的な画面説明には、情報が遵守されています。タッチスクリーンだけでなく、すべての種類のスマートフォン画面を検査しましょう。 画面タイプ タッチスクリーンタイプ ディスプレイサイズ 画面の解像度 保護カバー たとえば、Huawei Mate 8を取りましょう。 タイプ:IPS-Neo LCD容量性タッチスクリーン、16M色 サイズ:6.0インチ(〜78.0%スクリーンとボディの比率) 解像度:1080 x 1920ピクセル(〜368 ppiピクセル密度) マルチタッチ:はい 保護:コーニングゴリラグラス4 これらの用語について一度に考えてみましょう。 タッチスクリーンタイプ タッチスクリーンには2つの主要な種類があります – 抵抗 このタイプは、ATM、レストラン、工場などで広く利用されています。主な利点は、これらのスクリーンが圧力にのみ反応するため、スタイラスまたは手袋をはめた手で操作できることです。ただし、このイノベーションは、携帯電話業界では顕著ではありません。利用されたガラスは、優れた画面のコントラストを提供するために濃厚であるためです。また、ガラスの外層が内層に触れるように作られているため、亀裂や死んだ領域は一般的です。抵抗力のある画面には、ほんの一握りの日付の携帯電話のみがあります。これらには、Sony Ericsson Xperia X1&X2、Nokia

Root Samsung Galaxy Tab S3 [SM-T820/T825]&TWRPRoot Samsung Galaxy Tab S3 [SM-T820/T825]&TWRP

インストールは、Samsungの新しいGalaxy Tab S3のリリースから1週間ではありません。XDAの開発者は、非公式のTWRPを持っています。はい、それはまだテスト段階にあり、修正すべきいくつかのねじれがあります。しかし、このような早期リリースでは明らかではありませんか?ただし、タブレットをフラッシュまたはルート化したい場合は、このTWRPがジョブを完了すると安心してください。 XDAのAshyxとSuzookまでの巨大な親指。彼らはこれを開発するのに多くの努力をかけました。また、元のスレッドをチェックしたり、開発者をサポートしたい場合に備えて、最後に元の投稿へのリンクを残しました。 前提条件 Odin V3.10.7をダウンロードし、新しいフォルダーにファイルを抽出します。 PCにSamsung USB Chauffeursをダウンロードしてインストールします。 [設定]»開発者オプションに移動し、OEMのロック解除を有効にします。 Samsung Galaxy Tab S3のTWRP回復 – SM-T820 | SM-T825 最新のSupersu [.zip]ファイル(ファイルを外部SDカードに転送) ブートイメージパッチャーをダウンロードして、ファイルを外部SDカードに転送:no-verity-no-encrypt_ashyx.zip お見逃しなく:Samsung Galaxy Tab S3ストック壁紙(QHD)をダウンロード タブS3でTWRP回復をフラッシュする手順 タブレットの電源を切ってください(これを行うには、電源ボタンを数秒間保持し、電源をオフにします)。 次に、Power +