OiR-ptr / keiba-scraper

0 stars 0 forks source link

NetKeibaから情報を取得する #1

Closed OiR-ptr closed 2 years ago

OiR-ptr commented 3 years ago

指定したレースについて、netkeibaから必要情報を取得する

--- Archived

レースURLを指定可能にする 手動または自動でレースの周辺情報を取得する 指定されたレースURLから出走馬情報を取得する

OiR-ptr commented 3 years ago

https://race.netkeiba.com/race/shutuba.html?race_id=202105050211 上のようなレース番号をもとにした出馬表ページから一通りのデータがスクレイピングできるはず

概要: アルゼンチン共和国杯 15:35発走 / 芝2500m (左) / 天候:晴 / 馬場:良

開催競馬場: image

OiR-ptr commented 2 years ago

puppeteerというライブラリが ヘッドレスChromeを作って、スクレイピングするらしい

OiR-ptr commented 2 years ago

puppeteerというライブラリが ヘッドレスChromeを作って、スクレイピングするらしい

Cant resolve 'readline'エラーが出る。 どうもNode.jsで動くことを期待されてるらしい。クライアントサイドではどうすればいいか思案中。

OiR-ptr commented 2 years ago

そもそも使ってるNode.jsのバージョンが10.*になってる。 結構古いみたいなので更新しようかな。。。 今の最新LTSは16.14

OiR-ptr commented 2 years ago

Nodistで16まであげたらnpmがエラー出し始めた

OiR-ptr commented 2 years ago

DockerでNode.jsコンテナ作って、git cloneした作業ディレクトリをマウントするのが流行りらしい。 これで、ローカルでファイル編集しつつ、Dockerコンテナ上のNodeでホットリローディングも動かせるっぽい。

OiR-ptr commented 2 years ago

DockerでNode.jsコンテナ作って、git cloneした作業ディレクトリをマウントするのが流行りらしい。 これで、ローカルでファイル編集しつつ、Dockerコンテナ上のNodeでホットリローディングも動かせるっぽい。

Docker Desktopが動かない。。。 Docker desktop stopped... が一生出てるしSettingsも一生ロードしてる。

OiR-ptr commented 2 years ago

DockerでNode.jsコンテナ作って、git cloneした作業ディレクトリをマウントするのが流行りらしい。 これで、ローカルでファイル編集しつつ、Dockerコンテナ上のNodeでホットリローディングも動かせるっぽい。

Docker Desktopが動かない。。。 Docker desktop stopped... が一生出てるしSettingsも一生ロードしてる。

そもそもDocker desktopがHyper-V前提で作られてるらしい Windows10 Pro以上じゃないとHyper-Vできない日本○ね。

OiR-ptr commented 2 years ago

一旦Docker化はなしの方向で。

OiR-ptr commented 2 years ago

Node14はよく動いたのでこちらの方向で行く。 readlineはNode.jsにはあるけど、jsにはない。 Create-react-appみたいなクライアントサイド前提だと組み込まれてないっぽい。(当たり前か)

OiR-ptr commented 2 years ago

npm install readlineしてみる。 readlineはインストールできたけど、実行時にエラー吐く。

TypeError: The "original" argument must be of type Function

OiR-ptr commented 2 years ago

クライアントサイドから直接スクレイピングしようとするとCORSに引っかかる。当たり前だけどね。。。 これ多分無理だわ。

OiR-ptr commented 2 years ago

ElectronならNode.jsが動くプロセスあったよね?

OiR-ptr commented 2 years ago

Electronアプリに舵取りすれば行けるかも。 ていうか多分いけるな

OiR-ptr commented 2 years ago

Electronだとちょっと大げさなので、スニペット実行でお茶濁そうかな

OiR-ptr commented 2 years ago

色々関係するページみないとだから、スニペットじゃ無理だわ

OiR-ptr commented 2 years ago

めんどくさいからスニペットで行く

OiR-ptr commented 2 years ago

mutationわかんねええええええええええw https://hasura.io/learn/ja/graphql/intro-graphql/graphql-mutations/

OiR-ptr commented 2 years ago

graphqlモジュールならもっとモダァンな感じでいけるんだな フーン

OiR-ptr commented 2 years ago

こんな感じでいいのか。へー


mutation MyMutation {
  insert_Racetracks(objects: {comment: "このコースは架空のものです。実際の人物や組織とは関係ありません。", id: 999, trackname: "分倍河原競馬場"}) {
    returning {
      comment
      id
      trackname
    }
  }
}
`
OiR-ptr commented 2 years ago

意外と丁寧に作られてるな。 これだったらオブジェクト定義してあげるだけで連結でいくつでも書けちゃいそう。

OiR-ptr commented 2 years ago

あれ、結局オブジェクト変数で入れるときはどうするんだっけ

OiR-ptr commented 2 years ago

一旦データ形式は一通り揃えたので、あとはCreateを作っていく感じで。

OiR-ptr commented 2 years ago

タスク完了に伴いクローズ あとはCRUD画面を作って感じ