我想在这个网站上做网页抓取(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_id
和answer_id
,因此您可以使用问题/{ids}/评论方法和答案/{ids}/评论方法来获取对这些帖子的评论。