Веб-выскабливание по тегу при переполнении стека

Веб-выскабливание по тегу при переполнении стека

10.07.2019 01:00:57 Просмотров 47 Источник

Я хотел бы сделать веб-скребок на этом сайте ( stackoverflow.com), мне было интересно, есть ли APIили какой-то другой инструмент, который можно использовать с Python, чтобы получить все комментарии, содержащие определенный тег.

Например, как я могу получить все сообщения и комментарии с 10/01/2019 to 01/20/2019с тегом python?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/56968264/web-scraping-by-tag-on-stack-overflow#comment100473474_56968264
Может быть, взгляните на api.stackexchange.com
https://stackoverflow.com/questions/56968264/web-scraping-by-tag-on-stack-overflow#comment100481178_56968264
Я прочитал страницу api.stackexchange.com/docs/posts но я не могу создать фильтр для определенного тега

Ответы - Веб-выскабливание по тегу при переполнении стека / Web scraping by tag on stack overflow

Является ответом!
Rounak

10.07.2019 09:34:17

Есть подробный взгляд на 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

Например, приведенная ниже ссылка возвращает все вопросы с 1 июля 2019 года по 5 июля 2019 года с тегом 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

Например, приведенная ниже ссылка возвращает все ответы с 1 января 2019 года по 1 июля 2019 года на вопрос с 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 для получения комментариев к этим сообщениям.

https://stackoverflow.com/questions/56968264/web-scraping-by-tag-on-stack-overflow/56976722#comment100608598_56976722
большое вам спасибо! Если у меня есть ваша доступность, я хотел бы задать вам последний вопрос, если бы я хотел получить много данных, включенных в разные годы. Например, с 2016 по 2019 год, как я могу прокручивать страницы и увеличивать максимальный выход на страницу?
Закрыть X