我正在编写一个新项目来提高我的 Python 技能。它获取 Instagram 的个人资料数据并对其进行处理。到目前为止,它有效,我可以访问不同的页面。但我认为,由于发出太多请求,服务器已将我注销。我不知道如何连接 python 请求,所以我被阻止了。 任何想法 ? 谢谢
这是我的代码:
from bs4 import BeautifulSoup
import requests
import json
import os
def get_info_insta(username):
url = f'https://www.instagram.com/{username}/'
headers = {
'User-Agent': 'Mozilla/5.0',
'email': 'email',
'pass' : 'password'
}
response = requests.get(url, headers=headers)
session = requests.Session()
session.post(url, data=headers)
soup = BeautifulSoup(response.text, features="html.parser")
title = str(soup.find("meta", property="og:description"))
print(soup)
title = title.split("-")[0]
#title = title.split("=")[1]
#title = title.split('"')[1]
return title
title = get_info_insta('javascripthub') #ewa.english javascripthub
def treat_data():
title = get_info_insta('ewa.english') #ewa.english javascripthub
#on coupe pour avoir les différentes variables
title_set = title.split(",")
title_number = len(title.split(",")) #on compte en combien de fois coupé pour savoir si il y a un chiffre en millier
pst = title_number - 1 #pour avoir dernier numéro liste
if "Followers" in title_set[0]:
title_followers = title_set[0].replace(" Followers", "") #garde juste nombre
else:
title_followers = f"{title_set[0]}{title_set[1]}".replace(" Followers", "")
title_following = title_set[1].replace(" Following", "") #garde juste nombre
if title_number >= 4: #si chiffre en millier:
title_posts = f"{title_set[pst-1]}{title_set[pst]}".replace(" Posts", "")
else: #sinon
title_posts = title_set[2].replace(" Posts", "")
print(title, ">", title_followers, ">", title_following, ">", title_posts)
Instagram API 限制每个用户的 API 请求,也称为速率限制。用户每小时最多可以调用 200 次 API。因此,如果您在一小时内进行了 200 次 API 调用,那么您需要等到一小时结束,它就会停止阻止您。
如果检测到任何异常或类似机器人的行为,只需使用代理 Instagram 即可阻止 IP 在请求模块“代理”中使用第三个参数