通过请求连接到 Instagram

问题描述 投票:0回答:2

我正在编写一个新项目来提高我的 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)
python python-requests request instagram
2个回答
0
投票

Instagram API 限制每个用户的 API 请求,也称为速率限制。用户每小时最多可以调用 200 次 API。因此,如果您在一小时内进行了 200 次 API 调用,那么您需要等到一小时结束,它就会停止阻止您。


0
投票

如果检测到任何异常或类似机器人的行为,只需使用代理 Instagram 即可阻止 IP 在请求模块“代理”中使用第三个参数

使用代理请求的 Stackoverflow 链接

© www.soinside.com 2019 - 2024. All rights reserved.