【发布时间】:2021-05-03 04:48:53
【问题描述】:
目标是为帐户页面返回resp.text
当您运行此函数时,您会收到响应代码429,表明发出了太多请求。
即使在使用代理链运行脚本时
proxychains python3 file.py 返回相同的状态码
文件.py
import requests
def g3t_usr(acc):
""" Surf to account page """
resp = requests.get(f'https://www.instagram.com/{acc}/')
if resp.status_code == 200:
return resp.text
else:
print (resp.status_code)
return resp.text
acc="<some_random_user>"
g3t_usr(acc)
Instagram 是否检查 python 请求发出的请求并标记它们
【问题讨论】:
-
proxychains是如何工作的?通常您可以在requests.get(...proxies=...)中设置代理服务器。我不知道proxychans是如何工作的,我也不能说requests是否使用它。此外,requests始终发送标头User-Agent: python/...,因此很容易识别它不是真正的网络浏览器,而是脚本/机器人。 -
我在使用请求时总是设置我的 User-Agent 和 Origin。它会让你有更好的机会不被标记为机器人。
-
查看他们的 robots.txt,他们可能会阻止请求,因为他们不允许所有未明确指定的用户代理的机器人。