From ac9f5d9032ae35cc9999a0d8f1d27bdc6c079178 Mon Sep 17 00:00:00 2001 From: "ry.yamafuji" Date: Tue, 16 Sep 2025 17:16:42 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E6=84=8F=E3=83=A6=E3=83=BC=E3=82=B6?= =?UTF-8?q?=E3=81=AE=E3=83=84=E3=82=A4=E3=83=BC=E3=83=88=E5=8F=8E=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/providers/sns/x_sns_scraper.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/providers/sns/x_sns_scraper.py b/src/providers/sns/x_sns_scraper.py index 41314cc..5911778 100644 --- a/src/providers/sns/x_sns_scraper.py +++ b/src/providers/sns/x_sns_scraper.py @@ -243,7 +243,15 @@ class XScraper: # ---- example usage ---- async def search_tweets(self, query: str, limit: int = 50) -> List[Dict[str, Any]]: + """キーワード検索で最新ツイートを収集""" q = quote(query, safe="") url = f"https://x.com/search?q={q}&src=typed_query&f=live" first = await _goto_and_scrape(self.page, url) - return await _fill_with_scroll(self.page, first, limit) \ No newline at end of file + return await _fill_with_scroll(self.page, first, limit) + + + async def user_latest_tweets(self, username: str, limit: int = 50) -> List[Dict[str, Any]]: + """任意ユーザの最新ツイートを収集""" + url = f"https://x.com/{username.lstrip('@')}" + first = await _goto_and_scrape(self.page, url) + return await _fill_with_scroll(self.page, first, limit)