我需要在我当前的ROR应用中集成Instagram抓取功能,以获取喜欢给定媒体的用户名。
我能够成功地从instagram媒体链接中抓取数据。我为此使用的网址格式为"https://www.instagram.com/p/:media_id"
。但是问题在于,我只获得了喜欢该媒体的前10位用户。
此外,我读到某处我们必须传递end_cursor
参数以获取下一组记录。因此,我尝试将url更改为"https://www.instagram.com/p/:media_id?max_id=end_cursor_value_from_response_of_first_url"
。但是,仍然获得与先前请求相同的记录。
是否可以获取喜欢媒体的所有用户名(而不只是前10个)的列表?
注意:我也可以使用 Graphql 查询。因此,如果有人拥有使用Graphql查询的解决方案,那么对我来说将是完美的选择。
任何帮助将不胜感激。
预先感谢
更新
我尝试使用Graphql查询。请在下面找到查询:
media_id = 'MY_MEDIA_ID'
cursor_end = "CURSOR END TOKEN"
query_id = 'MY_QUERY_HASH_WHICH_I_COPIED_FROM_BROWSER'
escaped_variables_1 = CGI.escape({'shortcode': media_id, 'first': 50, 'after': cursor_end}.to_json)
url = "https://www.instagram.com/graphql/query/?query_hash=#{query_id}&variables=#{escaped_variables_1}"
uri = URI.parse(url)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
request['Cookie'] = "ig_pr=1"
http.request(request)
但是那也不起作用。