我想在此网站(stackoverflow.com
)上进行网络抓取,我想知道是否有API
或其他工具可以与Python一起使用,以获取包含特定标签。
例如,如何使用10/01/2019 to 01/20/2019
标签从python
获取所有帖子和评论?
答案 0 :(得分:2)
详细了解https://api.stackexchange.com/docs/
您可以使用questions方法来获取带有特定标签的从开始日期到结束日期的所有问题。您需要将特定标签传递到tagged
参数中。
这是该网址的格式:
https://api.stackexchange.com/2.2/questions?fromdate={start_date}&todate={end_date}&order=desc&sort=activity&tagged={tag}&site=stackoverflow
例如,下面的链接以标签python
返回2019年7月1日至2019年7月5日的所有问题:
https://api.stackexchange.com/2.2/questions?fromdate=1561939200&todate=1562284800&order=desc&sort=activity&tagged=python&site=stackoverflow
有关上述URL中日期格式的更多信息,请查看dates。
现在您有了question_id
,则可以使用questions/{ids}/answers方法来获取该问题从开始日期到结束日期的所有答案。
这是该网址的格式:
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
,因此可以使用questions/{ids}/comments方法和answers/{ids}/comments方法获取对这些帖子的评论。