Как прокрутить до конца в Instagram - PullRequest
1 голос
/ 02 марта 2020

Я пытался соскрести URL-адреса постов с Instagram на основе хэштега "foody". Используя селен и BeautifulSoup, я мог очистить около 2160 URL-адресов сообщений.

Однако я не мог очистить дальше (более 4 000 000 сообщений). Есть ли альтернативы, чтобы поцарапать все посты с помощью «гадкого» хэштега? Или хотя бы URL-адреса постов, которые были опубликованы в период между 2018-2019 гг.?

Ниже приведен мой код для удаления.

Спасибо!



    instagram_url = "https://www.instagram.com" 
    tag_url = "https://www.instagram.com/explore/tags"
    ads = "foody" # hashtag

    #pausetime
    pause_time = 2

    #driver
    driver = webdriver.Chrome("chromedriver.exe")

    #go to hashtag page
    driver.get(f"{tag_url}/{ads}")
    time.sleep(pause_time)

    #scroll down
    lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
    match=False
    i = 0
    while(match==False):
        #urls
        html = driver.page_source
        bs_html = BeautifulSoup(html, "lxml")
        for roots in bs_html.find_all(name="div", attrs={"class":"Nnq7C weEfm"}):
            for link in roots.select("a"):
                real = link.attrs["href"]
                if real not in reallink:
                    reallink.append(real)
        print("appendend data: ", len(reallink))

        #Scroll down   
        lastCount = lenOfPage
        print(f"scrolling down {i}")
        i += 1
        time.sleep(pause_time)
        lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
        if lastCount==lenOfPage:
            match=True

1 Ответ

0 голосов
/ 02 марта 2020

Используя Javascript Я смог прокрутить вниз до 3176 изображений за 2 года и 4 месяца.

Я нашел в общей сложности 3166 изображений. После этого он говорит «не удается загрузить».

Я попытался повторить этот эксперимент еще раз, и, похоже, сейчас мне не удастся прокрутить вниз.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...