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



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

例如,如何使用python标签获取来自10/01/2019 to 01/20/2019的所有帖子和评论?

详细了解 https://api.stackexchange.com/docs/

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

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

例如,下面的链接返回从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=stackoverflow

有关如何在上述 URL 中设置日期格式的更多信息,您可以查看日期。

现在您已经有了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=stackoverflow

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

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

由于您拥有帖子的question_idanswer_id,因此您可以使用问题/{ids}/评论方法和答案/{ids}/评论方法来获取对这些帖子的评论。

最新更新