我在嘗試使用python中的請求庫進行網絡抓取時遇到了麻煩。我想通過第一個要求輸入郵政編碼的初始頁面,然后轉到電子郵件頁面。這是我的代碼:import requestssession = requests.Session()data = {"address_line_1":"MYZIPCODE"}header = {'user-agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3"}response = requests.post('https://www.instacart.com/', headers=header, data=data)print(response.text)我想知道你們能不能幫忙。BTW:我正在使用,因為這是輸入的名稱。謝謝address_line_1
1 回答

寶慕林4294392
TA貢獻2021條經驗 獲得超8個贊
不能保證,因為這個答案是一些簡短實驗的結果,但我可能已經找到了解決方案。
我在網站上四處尋找,發現當我重新加載頁面時,跳過了詢問您的郵政編碼/電子郵件的初始屏幕。然后,我刪除了會話 Cookie ,但保留了所有其他 Cookie 不變,并被要求再次登錄。_instacart_session
這表明,如果您使用瀏覽器手動登錄,然后保存生成的 Cookie,則可以繞過登錄過程。將 Cookie 與您在程序中發出的請求一起發送,您也許可以直接跳到 。_instacart_session
http://instacart.com/store/NAME_OF_STORE/storefront
甚至可能有另一個cookie可以記住您想要的位置,從而繞過該選擇屏幕(但我不確定這一點)。
編輯:我看到每個商店的JSON信息中列出了交貨時間,URL如下。您需要導航到第一個設置您的cookie,否則我會收到一條錯誤消息。https://www.instacart.com/v3/containers/NAME_OF_STORE/next_gen/retailer_information/content/delivery?source=web
https://www.instacart.com/store/NAME_OF_STORE/info?tab=delivery
Unauthorized
希望這有幫助!
添加回答
舉報
0/150
提交
取消