[問題] 新手學python想抓網頁資料

看板Python作者 (yeech)時間6年前 (2019/07/25 23:01), 編輯推噓7(7037)
留言44則, 7人參與, 6年前最新討論串1/2 (看更多)
各位前輩好 小弟是python新手 程度應該很low 想請教一下用python抓網頁的功能 http://ww2.money-link.com.tw/etf/Ranking2.html 我想抓取這個網頁的資訊 目前有看網路自學基本的python 包含list dictionary等 我是看py4e 也是coursera裡面那個Michigan python教學 也看網路學會panda還有簡單的 beautiful soup 抓一些比較簡單的網站資料 可是這個網站的資訊 好像是屬於動態資料 原始網頁資料並沒有這些數據 上網看了一下 找到類似的教學也是 : beautiful soup https://www.youtube.com/watch?v=FSH77vnOGqU&t=726s
但是可能對我來說有點太跳級了 實在很難懂 查了版上的資訊 好像還有selenium scrapy等等 想請教一下各位高手 以如果要抓這種網頁 到底需要懂哪些工具比較好呢? 有哪些適合新手的教學網站會教關於抓取這種網站的? 可否給點指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.78.227.126 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1564066908.A.C90.html

07/25 23:40, 6年前 , 1F
剛好我最近也在研究類似的內容。我花了點時間看你的內容
07/25 23:40, 1F

07/25 23:40, 6年前 , 2F
。其實這個網頁不太難。它已經在後端跑完了,前端只是HT
07/25 23:40, 2F

07/25 23:40, 6年前 , 3F
ML而己。
07/25 23:40, 3F

07/25 23:43, 6年前 , 4F
首先你要去研究一下HTML的結構。然後如果還有時間,看一
07/25 23:43, 4F

07/25 23:43, 6年前 , 5F
下JavaScript。你的Ytb的那個連結只是和你說如果你的網
07/25 23:43, 5F

07/25 23:43, 6年前 , 6F
頁前端有JavaScript在執行,你用來抓網頁的內容會變得不
07/25 23:43, 6F

07/25 23:43, 6年前 , 7F
同,因為JS會改變網頁呈現的內容。
07/25 23:43, 7F

07/25 23:47, 6年前 , 8F
總結就是,python把很多東西簡化了,但如果你不了解它幫
07/25 23:47, 8F

07/25 23:47, 6年前 , 9F
你簡化的東西,你還是得先花時間瞭解它才知道怎麼運用。
07/25 23:47, 9F

07/25 23:47, 6年前 , 10F
以你的例子,bs4,scrpy,它的背後還是HTML的結構,如果你
07/25 23:47, 10F

07/25 23:47, 6年前 , 11F
不了解DOM tree, HTML elements, Tags, nodes, 這些都值
07/25 23:47, 11F

07/25 23:47, 6年前 , 12F
得你很快的去看一下再回來爬蟲這個題目。
07/25 23:47, 12F

07/25 23:50, 6年前 , 13F
我前陣子剛好在讀jJavaScript,有些也看不太懂,所以去
07/25 23:50, 13F

07/25 23:50, 6年前 , 14F
翻了HTML的書,兩相對照就看懂了。提供你參考。
07/25 23:50, 14F

07/25 23:56, 6年前 , 15F
推樓上用心回答~
07/25 23:56, 15F

07/26 01:41, 6年前 , 16F
看起來是用F1_10_ETFData.json來render頁面的
07/26 01:41, 16F

07/26 01:42, 6年前 , 17F
1.開F12看Network->XHR頁籤使用的api
07/26 01:42, 17F

07/26 01:43, 6年前 , 18F
2.用js解析json裡的資料 應該就能抓到你要的東西了
07/26 01:43, 18F

07/26 06:51, 6年前 , 19F
推1~n樓用心回答
07/26 06:51, 19F

07/26 09:23, 6年前 , 20F
不嫌速度慢的話用selenium最簡單
07/26 09:23, 20F

07/26 09:24, 6年前 , 21F
selenium 自動化操作只要搞懂裡面的doom物件名稱就好
07/26 09:24, 21F

07/26 09:48, 6年前 , 22F
太感謝樓上所有大大的認真說明
07/26 09:48, 22F

07/26 09:49, 6年前 , 23F
所以 聽起來我要先搞懂的關鍵字
07/26 09:49, 23F

07/26 09:50, 6年前 , 24F
最簡單用chrome 按F12看就好
07/26 09:50, 24F

07/26 09:52, 6年前 , 25F
1. HTML 2. doom 3. javascript 然後再去看爬蟲 對嗎?
07/26 09:52, 25F

07/26 09:53, 6年前 , 26F

07/26 09:53, 6年前 , 27F
chrome開起來 按F12 就能看到裡面的元素
07/26 09:53, 27F

07/26 09:54, 6年前 , 28F
把你要抓的部分 看他是哪層元素包起來
07/26 09:54, 28F

07/26 09:55, 6年前 , 29F
謝謝powyo大大 在請問一個丟臉的小問題
07/26 09:55, 29F

07/26 09:55, 6年前 , 30F
用selenium 可以指定抓取元素
07/26 09:55, 30F

07/26 09:55, 6年前 , 31F
如果我看到我想要抓的數字 但是我卻還是搞不懂該怎麼處理
07/26 09:55, 31F

07/26 09:56, 6年前 , 32F
我除了看selenium之外 是不是要先去惡補其他knowledge?
07/26 09:56, 32F

07/26 09:57, 6年前 , 33F
我的程度只到 如果數字是直接寫在HTML上 我自己會抓了
07/26 09:57, 33F

07/26 09:57, 6年前 , 34F
透過簡單的抓取 還有string處理 只會降(程度真的低..)
07/26 09:57, 34F

07/26 09:58, 6年前 , 35F
不懂你的意思 你是要抓取全部的資料? 還是特定的
07/26 09:58, 35F

07/26 09:59, 6年前 , 36F
我會先去看看能否看懂selenium 謝謝大家的回覆
07/26 09:59, 36F

07/26 09:59, 6年前 , 37F
看起來這網站會定時更新資料 所以抓到的也不是最新的
07/26 09:59, 37F

07/26 10:00, 6年前 , 38F
也非常感謝 alvinlin vi000246 熱情回應
07/26 10:00, 38F

07/26 10:01, 6年前 , 39F
對 我要每隔一段時間抓取 like 5min醬子
07/26 10:01, 39F

07/26 10:01, 6年前 , 40F
抓取那些數字的資料 就是我以為的動態資料
07/26 10:01, 40F

07/26 10:02, 6年前 , 41F
我不用很即時 甚至15min抓一次 也很OK
07/26 10:02, 41F

07/26 10:05, 6年前 , 42F
那就用個timer去抓取就好啊 甚至用排程也可以
07/26 10:05, 42F

07/26 10:08, 6年前 , 43F
對 我是打算用timer
07/26 10:08, 43F

07/30 19:21, 6年前 , 44F
是打算寫投資用的?
07/30 19:21, 44F
文章代碼(AID): #1TESHSoG (Python)
文章代碼(AID): #1TESHSoG (Python)