MyGeekNews - 自分がUpvoteしたGeekNews投稿検索ツール
(github.com/Laeyoung)こんにちは。
GeekNewsでUpvoteした記事が増えてきて、自分がUpvoteした記事を探すのが難しくなったので、スクレイピング後にUpvoteした記事を検索できるWebサービスを作りました。
知人たちと話していると、少し前にGeekNewsで見た良い記事だったんだけど、と思って探すことがあるんです。
Upvoteしたものが多いので、ページをめくってもめくっても見つけにくいことがよくありました。
そこでスクレイピングして、自分がUpvoteした記事のIDを1つのjsonファイルにまとめ、その記事群の中から検索できるWebサービスを作ってみました。
主な機能
- 増分スクレイピング (Incremental Scraping): Pythonスクリプトを使って、新しく推薦した記事だけを効率よくスクレイピングします。
- スマート検索: 日本語の頭文字検索に対応したリアルタイムのファジー検索を提供します(例: "GN" で "GeekNews" を検索可能)
- 無限スクロール: 自動でさらに多くの記事を読み込む、途切れのないブラウジング体験を提供します。)
実行方法
- プロジェクトをclone
- .envファイルに
GEEKNEWS_ID=your_idおよびPASSWORD=your_passwordを追加 - スクレイピングスクリプトを実行
python3 scrape_geeknews.py npm installの後、npm run dev
自分のアカウントで試してみたところ、Upvoteした記事が2,400件を超えていました。1日に1.5件のペースでUpvoteしているので、おすすめした記事のページで目的のものを見つけられなかったのも無理はありませんでした。
ps. 自分がUpvoteした記事を取得するために、GeekNewsのMy upvoteページを巡回してスクレイピングしています。もし問題になるようであれば、この投稿を削除していただいても大丈夫です。
10件のコメント
GeekNewsで公式に対応してくれるといいですね
この記事に upvote します
GeekNewsの投稿検索はちょっと物足りないです…
GeekNewsには検索機能があっても、過去の投稿を探すのはかなり難しい気がします。
GeekNews側で独自に対応してくれるといいですね。
野生のGeekNewsアップボーターが現れた……?
そして、今年5月にバイブコーディングで作ろうとしてうまくいかず、いったん棚上げしていたプロジェクトでした。そこに今回出たAntigravityでプロジェクトの続きを進めさせてみたところ、思ったよりうまくできて完成まで持っていけました。Pythonのスクレイピングも、あれが自分でGeekNewsサイトを開いて見に行って、そのうえでやってくれました。
検索に関しては改善を検討中です。もう少しお待ちください。
とても良い知らせですね。GeekNewsをとても便利に利用しているので、いつも感謝しています 🤲!
Fav はありますが、たまに fav の存在を忘れて押さないことがありますよね……