Я хочу сканировать, выполнив поиск по определенному ключевому слову на сайте pinterest. Однако дата создания сообщения не отображается при входе в систему. Как я могу просмотреть или просканировать дату создания сообщения?? (Я использую python)
Да, у внешнего интерфейса обычно нет времени, когда эти сообщения были созданы, однако я нашел способ, которым вы очищаете идентификатор этого сообщения из DOM (он доступен с атрибутом data-test-id = "pin"
) и делаете запрос GET отдельно к URL-адресу (используя запрос Python ). Вот этот пример этого URL.
Этот URL-адрес предоставит подробную информацию о публикации в формате JSON, в которой будет указано время ее создания.
Вы можете объединять строки и генерировать URL-адрес, например
protocol+"//"+domain+"/resource/PinResource/get/?source_url=/pin/"+post_id+"/&data = {%22options%22:{%22id%22:"+'"'+post_id+"%22,%22field_set_key%22:%22detailed%22,%22is_landing_page%22:false},%22context%22:{}}&_=1523412899257"
Вы можете получить протокол и домен, например (в селене python):
protocol = driver.execute_script("return document.location.protocol")
domain = driver.execute_script("return document.location.hostname")
Извини, чувак, я не думаю, что это работает так, как я думал. Pinterest больше не показывает дату пинов. Его нет ни в одном из их API :( createdAt представляет текущего пользователя
Если да, то что представляет собой date_published?
Я не вижу такого атрибута в своем ответе. Возможно, эта функция зависит от страны, что означает, что она не будет работать в США, но может работать в других странах. Дата публикации, я думаю, дата создания сообщения
Есть ли способ подключиться без использования селена?
@ skw0314 что ты имеешь в виду?
Когда я получаю протокол и домен, я использую драйвер. Могу ли я получить URL-адрес, не используя его? (Чтобы использовать только запросы без использования селена)
Да, если ваш поисковый робот работает только в одной стране. Я использовал протокол и домен, потому что в каждой стране есть разные домены. Итак, я из Индии, поэтому мой домен будет in.pinterest.com
, но если вы из другой страны, ваш домен определенно будет другим. Таким образом, в соответствии с вашей страной вы можете жестко закодировать этот домен и сделать запрос.
Может ли Instagram узнать URL-адрес в соответствии с идентификатором публикации, например Pinterest? (например: протокол+"//"+домен+"/ресурс/PinResource/get/?source_url=/pin/"+post_id+"/&data = {%22options %22:{%22id%22:"+' "'+post_id+"%22,%22field_set_key%22:%22detailed%22,%22is_landing_page%22:false},%22context%22:{}}&_=1523412899257" )
URL-адрес Instagram не работает с атрибутом post_id
, он работает с атрибутом shortcode
. Их шаблон URL — https://instagram.com/p/{shortcode}
. Вы можете получить шорткод из их API grapql. пример здесь . Если вам нужны данные отдельного сообщения, вы не получите, но вы получите данные на основе хэштега или профиля. Предположим, вы хотите удалить посты из этого, тогда вы получите детали поста в коллекции, не основанной на одном
Затем этот '''протокол+"//"+домен+"/resource/PinResource/get/?source_url=/pin/"+post_id+"/&data = {%22options%22:{%22id%22: "+'"'+post_id+" %22,%22field_set_key%22:%22detailed%22,%22is_landing_page%22:false},%22context%22:{}}&_=1523412899257"'' ' Является ли первое created_at датой создания поста после ввода ссылки?