iT邦幫忙

0

網頁爬蟲造成瀏覽器out of memory的問題

  • 分享至 

  • xImage

在爬US NEWS的全球大學排名資料。

因為網頁是拉到頁面底部會有自動及手動讀取的機制。所以使用selenium穿插javascript以及偵測load按鈕並觸發的方式來讓頁面讀取資料。但因為排名有兩千多筆,在不斷讓頁面讀取資料後,大約到六百多筆時發生了瀏覽器out of memory的問題。

請問像這類同一頁面一直讀取資料的網頁,要如何避免瀏覽器out of memory的問題?

我想的另外一個方法,就是頁面讀取資料有一個search的api,但利用requests的方法又沒辦法抓到資料。我的寫法如下,不知道是不是有什麼問題,或是可以用其他方法透過這個api抓到資料?謝謝

import requests
headers = {'format': 'json','page': '6'}
r = requests.get('https://www.usnews.com/education/best-global-universities/api/search', headers=headers)
看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2024-09-05 12:57:22 檢舉
https://www.usnews.com/education/best-global-universities/search?format=json&page=3
另外總共是246頁。

參數不是放在header裡,去搞清楚什麼叫http header什麼叫query。
lsesroom iT邦新手 2 級 ‧ 2024-09-05 14:15:31 檢舉
用requests偽裝headers把參數放在url失敗,把參數放params也失敗。用selenium開webdriver開url才能抓到字串內容。所以表示這個api沒辦法用requests抓到內容嗎?還是我有遺漏什麼?
froce iT邦大師 1 級 ‧ 2024-09-05 14:30:01 檢舉
大概是人家有簡單的防爬,去弄懂http header,至少偽造個UA試試。
lsesroom iT邦新手 2 級 ‧ 2024-09-05 14:40:37 檢舉
了解,感謝!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答