簡體   English   中英

Python-如何抓取多個動態更新的表單/網頁?

[英]Python - How to scrape multiple dynamically updated forms / webpages?

我一直在嘗試抓取一個動態更新的網站,每個網頁包含數百行,並且該網站總共有數千個頁面(因為每個頁面都可以通過單擊“下一個”按鈕或頁面底部的數字來訪問該頁面,就像您在Google搜索頁面底部看到的一樣)。

雖然我已經能夠成功地抓取頁面,但是我無法在結果中獲得100%的准確性,即因為頁面是動態更新的(javascript)。 當用戶登錄其帳戶時,系統會將其重新放置到第一頁第一行的頂部。 因此,例如,如果我正要抓取第101頁,而我在第100頁上,而第101頁上的用戶登錄到他們的帳戶,那么我會錯過該用戶的信息。 考慮到活動的數量,這可能會很成問題。

我嘗試在凌晨運行自動化程序,但是意識到全世界都有用戶,所以這是失敗的。 我也無法並行抓取頁面,因為可以通過javascript訪問/上傳表單,而且不得不使用Selenium一次單擊一頁。 (每個頁面沒有唯一的URL;我也嘗試瀏覽瀏覽器的“網絡”標簽,但是當我單擊另一頁面時,沒有變量會改變)。 我還嘗試按照此處的說明訪問API,但是我能夠獲得的鏈接僅在當前頁面上顯示信息-因此,與通過HTML源代碼訪問的內容沒有什么不同。

我有什么選擇? 是否有某種方式我可以一次捕獲所有信息,所以我不會冒任何信息丟失的風險?

我知道會有人要求提供該URL,但是不幸的是我不能放棄它。 即使我這樣做,也無法放棄用戶名和密碼。 我是網絡抓取的初學者,因此非常感謝您的幫助!

如果您可以按需要多次點擊頁面,並且信息永不消失,則可以一遍又一遍地盡可能快地瀏覽所有頁面。 在Selenium中,您可以使用相同的cookie同時控制多個選項卡和/或瀏覽器,以加快抓取速度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM