如何用Python模拟Instagram上的无限滚动?

如何用Python模拟Instagram上的无限滚动?,python,python-2.7,web-scraping,instagram,Python,Python 2.7,Web Scraping,Instagram,我已经编写了一个小型Python程序,用于刮取Instagram配置文件以提取数据并显示各种统计数据。我能够从个人资料上的前9张照片(或初始加载时显示的照片)中收集数据,但我无法加载其他照片(由于无限滚动机制)。我在网上读到过关于无限滚动的网页抓取的文章,人们说你需要复制加载额外图片的请求。到目前为止,我无法复制请求,有人能帮忙吗 谢谢 无需再次编写所有代码,已经编写了许多库,它们复制了所有请求 一个这样的库是https://github.com/ping/instagram_private_a

我已经编写了一个小型Python程序,用于刮取Instagram配置文件以提取数据并显示各种统计数据。我能够从个人资料上的前9张照片(或初始加载时显示的照片)中收集数据,但我无法加载其他照片(由于无限滚动机制)。我在网上读到过关于无限滚动的网页抓取的文章,人们说你需要复制加载额外图片的请求。到目前为止,我无法复制请求,有人能帮忙吗


谢谢

无需再次编写所有代码,已经编写了许多库,它们复制了所有请求

一个这样的库是
https://github.com/ping/instagram_private_api

使用此库的解决方案

from instagram_private_api import Client, ClientCompatPatch

user_name = 'YOUR_USERNAME'
password = 'YOUR_PASSWORD'
username_to_scrape = 'USERNAME_TO_SCRAPE'

all_posts = []

api = Client(user_name, password)
posts = api.username_feed(username_to_scrape)  #Gets the first 12 posts
# Extract the value *next_max_id* from the above response, this is needed to load the next 12 posts

next_max_id = posts["next_max_id"] 

all_posts = all_posts + posts

# 
next_page_posts = api.username_feed(track_username, max_id = next_max_id)
这只是一个帮助您入门的快速示例

更新:保存和加载Cookies

#Saving cookies
cookies = api.cookie_jar.dump()
with open("cookies.pkl", "wb") as save_cookies:
    save_cookies.write(cookies)

#Loading cookies
with open("cookies.pkl", "rb") as read_cookies:
    cookies = read_cookies.read()

#Pass cookies to Client to resume session
api = Client(user_name, password, cookie = cookies)

无需再次编写所有代码,已经编写了许多库,它们复制了所有请求

一个这样的库是
https://github.com/ping/instagram_private_api

使用此库的解决方案

from instagram_private_api import Client, ClientCompatPatch

user_name = 'YOUR_USERNAME'
password = 'YOUR_PASSWORD'
username_to_scrape = 'USERNAME_TO_SCRAPE'

all_posts = []

api = Client(user_name, password)
posts = api.username_feed(username_to_scrape)  #Gets the first 12 posts
# Extract the value *next_max_id* from the above response, this is needed to load the next 12 posts

next_max_id = posts["next_max_id"] 

all_posts = all_posts + posts

# 
next_page_posts = api.username_feed(track_username, max_id = next_max_id)
这只是一个帮助您入门的快速示例

更新:保存和加载Cookies

#Saving cookies
cookies = api.cookie_jar.dump()
with open("cookies.pkl", "wb") as save_cookies:
    save_cookies.write(cookies)

#Loading cookies
with open("cookies.pkl", "rb") as read_cookies:
    cookies = read_cookies.read()

#Pass cookies to Client to resume session
api = Client(user_name, password, cookie = cookies)

谢谢这真的很有帮助。出于兴趣,作者提到您应该缓存会话以防止被Instagram阻止。你知道怎么做吗,或者我在哪里能找到这个documentaion@liamw9刚刚更新了关于如何保存和加载会话的答案。你也能接受这个答案吗?谢谢。这真的很有帮助。出于兴趣,作者提到您应该缓存会话以防止被Instagram阻止。你知道怎么做吗,或者我在哪里能找到这个documentaion@liamw9刚刚更新了关于如何保存和加载会话的答案。你也能接受这个答案吗?