我正在尝试使用PyQt5制作一个使用GUI的应用程序,它可以在Instagram上运行。这是我坚持的一个功能:
def pro_smt(self):
url = "https://www.instagram.com/someonespicture123"
sauce = urllib.request.urlopen(url)
soup = bs.BeautifulSoup(sauce, 'lxml')
#I use this to check whether the profile is public, and therefore accessible without loggin in.
self.browserWindow.load(QUrl(url))
self.browserWindow.show()
问题是,如果我输入someones url,谁将其帐户设置为仅向朋友显示他们的图片,我在Python中收到“404 not found”错误。 所以我必须以某种方式登录,以便我可以访问这些类型的图像。
所以我的问题是如何从我的Chrome浏览器导入我的Cookie,然后将它们与请求一起发送,以便我登录,并保持登录状态 - 这样我就可以在保持登录的同时使用QWebEngineView浏览页面in,并在没有它们的情况下执行urllib.requests。
环境: Python 3.6.2,PyQt5.9,Windows10x64
答案 0 :(得分:0)
我不确定从Chrome导入您的Cookie,但您可以使用以下代码将其保留在您的应用中。您必须登录一次才能设置Cookie,但下次运行应用时,您不需要再次使用。
defaultProfile = QWebEngineProfile.defaultProfile()
defaultProfile.setPersistentCookiesPolicy(QWebEngineProfile.ForcePersistentCookies)
cookies_path = '/your_app_cookie_path_here'
defaultProfile.setCachePath(cookies_path)
defaultProfile.setPersistentStoragePath(cookies_path)