簡體   English   中英

無法使用基於請求構建的某些腳本來關注網站中的用戶

[英]Unable to follow a user in a website using some script built upon requests

我正在嘗試使用以下根據請求構建的腳本來關注 Instagram 中的用戶。 該腳本可以讓我成功登錄,但它無法幫助我關注該用戶。 我盡力通過腳本來模仿這個過程,我可以在手動跟蹤該用戶時在開發工具中看到。

我希望使用腳本關注的用戶

這就是腳本運行時結果的樣子。

我試過:

import re
import requests
from bs4 import BeautifulSoup
from datetime import datetime

target_link = 'https://www.instagram.com/p/CBySO76FgD6/'
profile_link = 'https://www.instagram.com/{}/'
start_link = 'https://www.instagram.com/accounts/login/'
login_url = 'https://www.instagram.com/accounts/login/ajax/'
follow_url = 'https://www.instagram.com/web/friendships/{}/follow/'

username = "instagram_username"
password = "instagram_password"

timeval = int(datetime.now().timestamp())

payload = {
    'username': username,
    'enc_password': f'#PWD_INSTAGRAM_BROWSER:0:{timeval}:{password}',
    'queryParams': {},
    'optIntoOneTap': 'false'
}

with requests.Session() as s:
    s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'
    r = s.get(start_link)
    s.headers['x-csrftoken'] = re.findall(r"csrf_token\":\"(.*?)\"",r.text)[0]
    r = s.post(login_url,data=payload) #it does log me in flawlessly
    # print(r.text)
    s.get(profile_link.format(username)) #send this requests only to get cookies from profile page
    r = s.get(target_link)
    follow_id = re.findall(r'viewer_can_reshare[\s\S]+?id\":\"(.*?)\"',r.text)[0]
    r = s.post(follow_url.format(follow_id),data=None)
    print(r.status_code) #giving 403 status code

要使此類請求正常工作,您必須更改一些標頭。 標題應如下所示:

'cookie': 'sessionid={}%3ADYLfeCKlCulTTJ%3A6;'.format(login_id),
'origin': 'https://www.instagram.com',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) \
                 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
'x-csrftoken': 'rf3krAvciHRvjSBoqP4NYVXmw1wP8rEO',
'x-instagram-ajax': '846d5a59d9e9'

其中 login_id - 它是您的用戶的 ID。 注意,不是用戶名,它應該是數字 ID(例如 8780495634)然后您可以發出帖子請求以關注您想要的 ant 用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM