在堆栈溢出时通过标签进行网页抓取

Web scraping by tag on stack overflow

我想在这个网站上进行网络抓取 (whosebug.com),我想知道是否有 API 或其他工具可以与 Python 一起使用获取包含特定标签的所有评论。

例如,我如何从 10/01/2019 to 01/20/2019 获取带有 python 标签的所有帖子和评论?

详细看https://api.stackexchange.com/docs/

您可以使用 questions 方法获取带有特定标签的从开始日期到结束日期的所有问题。您需要将特定标签传递到 tagged 参数中。

这是 URL 格式:
https://api.stackexchange.com/2.2/questions?fromdate={start_date}&todate={end_date}&order=desc&sort=activity&tagged={tag}&site=Whosebug

例如以下link returns 2019年7月1日至2019年7月5日的所有问题,标签为python:
https://api.stackexchange.com/2.2/questions?fromdate=1561939200&todate=1562284800&order=desc&sort=activity&tagged=python&site=Whosebug

有关上述 URL 中日期格式的更多信息,您可以查看 dates

现在您有了 question_id,您可以使用 questions/{ids}/answers 方法来获取该问题从开始日期到结束日期的所有答案。

这是 URL 格式:
https://api.stackexchange.com/2.2/questions/{question_id}/answers?fromdate={start_date}&todate={end_date}&order=desc&sort=activity&site=Whosebug

例如以下linkreturns从2019年1月1日到2019年7月1日的所有答案 question_id :
https://api.stackexchange.com/2.2/questions/37181281/answers?fromdate=1546300800&todate=1561939200&order=desc&sort=activity&site=Whosebug

现在您基本上拥有了从开始日期到结束日期的所有帖子(问题和答案)并带有特定标签。

因为你有 question_idanswer_id 的帖子,你可以使用 questions/{ids}/comments method and answers/{ids}/comments 方法来获取这些帖子的评论。