gpt4 book ai didi

python - 使用 selenium 抓取 Instagram 粉丝

转载 作者:太空宇宙 更新时间:2023-11-03 21:43:54 25 4
gpt4 key购买 nike

我一直在尝试从我的一个业务页面中删除所有大约 5 万的关注者。我使用 Selenium Web 驱动程序和 Python 来废弃。

我能够获得关注者对话框,并且我能够滚动该对话框以加载更多关注者。然而,随着对话框中加载更多关注者,滚动速度不断降低。

这种技术可行,但需要几天时间。这还要求机器始终处于事件状态并且不能休眠,否则进程将停止。而且,大多数时候它会在 3k 到 4k 关注者抓取后给出错误。

我想知道我的脚本和抓取关注者的方式是否有任何问题,或者这很常见。而且,是否有一种有效的方法可以做到这一点?

followers_dialoge = driver.find_element_by_xpath("/html/body/div[3]/div[1]/div/div[2]")
n = 1
for i in range(int(allfoll / n)):
next_length = len(driver.find_elements_by_class_name('FPmhX'))
if next_length != prev_length:
new_followers = driver.find_elements_by_class_name('FPmhX')[-12:]


with open(followers_dir, "a") as followers_file:

for element in new_followers:
if element.get_property('href'):
title = element.get_property('title')
href = element.get_property('href')
followers_file.write(title + "," + href + "," + "\n")

在滚动过程中,每次在对话框中加载 12 个关注者,因此在第 5 行,我会获得新的 12 个关注者并保存它们。我知道我可以等待完整的对话框加载,并且我可以保存所有 50k 一次,但由于它很容易在几分钟/小时后停止,这就是为什么我尝试在此过程中保存它们。 (这可能是速度慢的原因之一)

最佳答案

您需要使用query_hash和end_cursor值来查询下一个关注者列表。打开 Firefox,单击用户的关注者列表,单击检查元素,切换到网络选项卡并按 XHR 过滤并开始向下滚动,您将看到 Instagram 发出的获取下一个关注者列表的请求。此线程帮助开始:https://stackoverflow.com/a/50058700/1890619

关于python - 使用 selenium 抓取 Instagram 粉丝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52642938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com