小编Top*_*der的帖子

Instagram 使用端点抓取需要对所有请求进行身份验证

如您所知,Instagram 宣布他们本月更改了端点 api。看起来在 Cambridge Analytica instagram 之后改变了他们的端点格式,并要求所有请求都需要登录用户会话......

不确定哪些端点需要更新,但我特别使用了媒体/评论端点,现在如下:

旧媒体:

https://www.instagram.com/graphql/query/?query_id=17888483320059182&id= {0}&first=100&after={1}

媒体新:

https://www.instagram.com/graphql/query/?query_hash=42323d64886122307be10013ad2dcc44&variables=%7B%22id%22%3A%2221575514%22%2C%22first%22%3A12%2C%22after%22%3A%22AQAHXuz1DPmI3FFLOzy5iKEhHOLKw3lt_ozVR40TphSdns0Vp5j_ZEU6Qj0CW6IqNtVGO5pmLCQoX0Y8RVS9aRTT2lWPp6vf8vFqjo1QfxRYmA% 22%7D

我用来避免这个问题的脚本如下:

#!/usr/bin/env python3
import requests
import urllib.parse
import hashlib
import json

#CHROME_UA = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
CHROME_UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'

def getSession_old(rhx_gis, csrf_token, variables):
    """ Get session preconfigured with required headers & cookies. """
    #"rhx_gis:csfr_token:user_agent:variables"
    print(variables)
    values = "%s:%s:%s:%s" % (
            rhx_gis,
            csrf_token,
            CHROME_UA,
            variables)
    x_instagram_gis = …
Run Code Online (Sandbox Code Playgroud)

md5 hashlib web-scraping python-3.x instagram-api

5
推荐指数
0
解决办法
779
查看次数

标签 统计

hashlib ×1

instagram-api ×1

md5 ×1

python-3.x ×1

web-scraping ×1