ETtoday範例能否利用開發者工具,去找到瀏覽器中的Javascript發了哪些請求並抓取資料
https://www.ettoday.net/news/news-list.htm
我發現我就算是用browser.execute_script("window.scrollTo(0, 9999999999);")自己往下捲動
又或者是手動一直往下捲動,
我發現他的文章數會有一個上限,為780則,
所以我想要請請:
在這樣的情況下我要如何達到「取出今天所有的新聞」呢?
上圖顯示的是我在2020/03/18的11:11開始往下捲動
他的最底一則為2020/03/18的08:05
回答列表
-
2020/03/18 下午 11:16陳政弘贊同數:0不贊同數:0留言數:1
我也有相同的問題,API吐資料是從這個網址https://www.ettoday.net/show_roll.php,offset的參數最多只到68,越晚取資料,當日最早的資料就會都找不到
下面是用解答的程式跑的結果,會變成無窮迴圈,跳不出去
www.ettoday.net/show_roll.php
-
2020/03/21 上午 01:33張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
嗨,文修 & 政弘
Umm,這是個好問題!這個 780 則的限制是新的限制,當時在設計題目的時候是沒有的。因此作業中,是可以一直往下滑,滑到三天前的新聞的。關於這個部分,我在研究看看內容要如何更新。這裡可以先練習看看抓三個小時前這種的話有沒有問題(概念上就是要先捲動,再用文字做篩選)。
另外提供一種思路,可以去觀察網址:https://www.ettoday.net/news/news-list-2020-3-19-0.htm ,可以在 2020-3-19-X 後面加入分類,1 ~ N 代表不同分類的新聞,也許可以利用這種方法來抓資料。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃