29 ポイント 投稿者 laeyoung 2025-12-01 | 10件のコメント | WhatsAppで共有

こんにちは。
GeekNewsでUpvoteした記事が増えてきて、自分がUpvoteした記事を探すのが難しくなったので、スクレイピング後にUpvoteした記事を検索できるWebサービスを作りました。

知人たちと話していると、少し前にGeekNewsで見た良い記事だったんだけど、と思って探すことがあるんです。
Upvoteしたものが多いので、ページをめくってもめくっても見つけにくいことがよくありました。
そこでスクレイピングして、自分がUpvoteした記事のIDを1つのjsonファイルにまとめ、その記事群の中から検索できるWebサービスを作ってみました。

主な機能

  • 増分スクレイピング (Incremental Scraping): Pythonスクリプトを使って、新しく推薦した記事だけを効率よくスクレイピングします。
  • スマート検索: 日本語の頭文字検索に対応したリアルタイムのファジー検索を提供します(例: "GN" で "GeekNews" を検索可能)
  • 無限スクロール: 自動でさらに多くの記事を読み込む、途切れのないブラウジング体験を提供します。)

実行方法

  1. プロジェクトをclone
  2. .envファイルに GEEKNEWS_ID=your_id および PASSWORD=your_password を追加
  3. スクレイピングスクリプトを実行 python3 scrape_geeknews.py
  4. npm install の後、npm run dev

自分のアカウントで試してみたところ、Upvoteした記事が2,400件を超えていました。1日に1.5件のペースでUpvoteしているので、おすすめした記事のページで目的のものを見つけられなかったのも無理はありませんでした。

ps. 自分がUpvoteした記事を取得するために、GeekNewsのMy upvoteページを巡回してスクレイピングしています。もし問題になるようであれば、この投稿を削除していただいても大丈夫です。

10件のコメント

 
t7vonn 2025-12-04

GeekNewsで公式に対応してくれるといいですね

 
mdisprgm 2025-12-03

この記事に upvote します

 
tested 2025-12-03

GeekNewsの投稿検索はちょっと物足りないです…

 
kissdesty 2025-12-02

GeekNewsには検索機能があっても、過去の投稿を探すのはかなり難しい気がします。

 
ragingwind 2025-12-02

GeekNews側で独自に対応してくれるといいですね。

 
bus710 2025-12-02

野生のGeekNewsアップボーターが現れた……?

 
laeyoung 2025-12-02

そして、今年5月にバイブコーディングで作ろうとしてうまくいかず、いったん棚上げしていたプロジェクトでした。そこに今回出たAntigravityでプロジェクトの続きを進めさせてみたところ、思ったよりうまくできて完成まで持っていけました。Pythonのスクレイピングも、あれが自分でGeekNewsサイトを開いて見に行って、そのうえでやってくれました。

 
xguru 2025-12-04

検索に関しては改善を検討中です。もう少しお待ちください。

 
laeyoung 2025-12-04

とても良い知らせですね。GeekNewsをとても便利に利用しているので、いつも感謝しています 🤲!

 
ffdd270 2025-12-03

Fav はありますが、たまに fav の存在を忘れて押さないことがありますよね……