如何解决如何迅速获得大量Instagram用户的关注者人数?
我在python中有以下程序,该程序读取Instagram帐户的1390680 URL列表,并获取每个用户的关注者计数。它利用了instaloader。这是代码:
import pandas as pd
from instaloader import Instaloader,Profile
# 1. Loading in the data
# Reading the data from the csv
data = pd.read_csv('IG_Audience.csv')
# Getting the profile urls
urls = data['Profile URL']
def getFollowerCount(PROFILE):
# using the instaloader module to get follower counts from this programmer
# https://stackoverflow.com/questions/52225334/webscraping-instagram-follower-count-beautifulsoup
try:
L = Instaloader()
profile = Profile.from_username(L.context,PROFILE)
print(PROFILE,'has',profile.followers,'followers')
return(profile.followers)
except Exception as exception :
print(exception,False)
return(0)
# Follower count List
followerCounts = []
# This loop will fetch the follower count for each user
for url in urls:
# Getting the profile username from the URL by removing the instagram.com
# portion and the backslash at the end of the url
url_dirty = url.replace('https://www.instagram.com/','')
url_clean = url_dirty[:-1]
followerCounts.append(getFollowerCount(url_clean))
# Converting the list to a series,adding it to the dataframe,and writing it to
# a csv
data['Follower Count'] = pd.Series(followerCounts)
data.to_csv('IG_Audience.csv')
我遇到的主要问题是,要花很长时间才能通读整个列表。花了14个小时才获得3035位用户的关注者数量。有什么办法可以加快这个过程?
解决方法
首先我想说我很抱歉迟到了,但希望这可以帮助将来的人。我遇到了类似的问题,我相信我找到了原因,当您获得关注者时,您的 instaloader 不仅会转到个人资料页面并读取号码,还会获取每个帐户的 URL 和个人资料 ID,并且只能获取一次这么多,我能想到的解决这个问题的最好方法是向页面提出请求,然后阅读他们主页问题上的关注者数量,但是在我相信 9999 名关注者之后,它会开始说“ 10k”或“10.1k”,所以你会减少 100,如果这个人有超过 100 万,情况会变得更糟,因为那会减少更多。