2017-08-01 104 views
1

我試圖用GUI來製作一個應用程序,使用PyQt5在Instagram上做它的事情。下面是我被困在一個函數:Python 3 | PyQt5 - QWebEngineView + urllib + beautifulsoup與Cookies

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() 

問題是,如果我輸入某人的URL,誰都有自己的帳戶設置爲只顯示自己的圖片唯一的朋友,我得到了一個「404未找到」錯誤蟒蛇。 所以我必須以某種方式登錄,以便我可以訪問這些圖像。

所以我的問題是如何從我的Chrome瀏覽器中導入我的Cookie,並向他們發送請求,以便我登錄並保持登錄狀態 - 以便我可以在停留時使用QWebEngineView瀏覽頁面登錄,並做urllib.requests沒有他們失敗。

環境: 的Python 3.6.2,PyQt5.9,Windows10x64

回答

0

我不知道從Chrome中導入您的餅乾,但你可以用下面的代碼您的應用程序堅持他們。您必須登錄一次才能設置您的Cookie,但下一次運行應用程序時,您不需要再次設置。

defaultProfile = QWebEngineProfile.defaultProfile() 
defaultProfile.setPersistentCookiesPolicy(QWebEngineProfile.ForcePersistentCookies) 
cookies_path = '/your_app_cookie_path_here' 
defaultProfile.setCachePath(cookies_path) 
defaultProfile.setPersistentStoragePath(cookies_path)