Соскребание в Instagram: Как бы я сохранил истории? - PullRequest
1 голос
/ 31 марта 2019

В настоящее время я пишу скребок для Instagram-истории для забавы, потому что почему бы и нет, и я дошел до того, что мне нужно загрузить файлы-истории, но источники изображений / видео не в HTML-коде.Могу ли я использовать процесс для загрузки изображений в URL браузера?Или есть какой-то другой более эффективный способ сделать это?

Я пытался найти источник изображений, но они не существуют, так как он загружен за пределы HTML.

from selenium import webdriver
import selenium
import time

story_page = "https://www.instagram.com/stories" + "/" + account_purging

driver = webdriver.Firefox()
# Login
driver.get("https://www.instagram.com/accounts/login/")
time.sleep(1)
driver.find_element_by_name('username').send_keys(myusername)
driver.find_element_by_name('password').send_keys(mypassword)
time.sleep(2)
# Click Login
try:
    driver.find_element_by_xpath("/html/body/span/section/main/div/article/div/div[1]/div/form/div[4]/button/div").click()
except Exception as e:
    print(e)
    driver.find_element_by_xpath("/html/body/span/section/main/div/article/div/div[1]/div/form/div[5]/button").click()

time.sleep(2)

# Go To stories

driver.get(story_page)
time.sleep(1)


#Download stories seen
img = driver.find_element_by_xpath("/html/body/span/section/div/div/section/div[2]/div[4]")
src = img.get_attribute('src')
print(src)

Код возвращается как None, поскольку нет прямой ссылки на источник.Используя кнопку NETWORK в редакторе исходного кода, я могу найти ее вручную, но знаю, что есть более эффективный способ.

Редактировать: Вот пример URL истории.Может быть, есть способ использовать это?

https://scontent-ort2-1.cdninstagram.com/vp/b83f011616e4bb20c52cbc21ca17213f/5CA3832C/t50.12441-16/56522959_2235298350017959_2397626998618515587_n.mp4?_nc_ht=scontent-ort2-1.cdninstagram.com

1 Ответ

0 голосов
/ 31 марта 2019

Я нашел решение здесь . Это решило это в основном с помощью вкладки сети в инструменте проверки элементов.

...