Instagram Скребок работает медленно - PullRequest
0 голосов
/ 13 февраля 2020

Может ли кто-нибудь помочь мне, как ускорить этот процесс очистки, получая все имена пользователей от «собак» в Instagram. Моя цель - сделать это как можно быстрее, потому что в настоящее время процесс довольно медленный. Может быть, используя многопоточность?

from instaloader import Instaloader

HASHTAG = 'dogs'

loader = Instaloader(sleep=False)

users = []
for post in loader.get_hashtag_posts(HASHTAG):
    if post.owner_username not in users:
        users.append(post.owner_username) 
    print(post.owner_username)

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

1) Удалить оператор печати. Это узкое место. Когда вы печатаете что-то в терминал, терминалу нужно замедлить процесс, иначе это будет выглядеть так, как будто оно сокращается. 2) Вместо этого используйте set, чтобы вам не приходилось проверять, существует ли post.username

users = set()
for post in loader.get_hashtag_posts(HASHTAG):
    users.add(post.owner_username) 
0 голосов
/ 13 февраля 2020

Используйте набор вместо списка - для этого он значительно быстрее.

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