Re: [問題]爬蟲問題
※ 引述《Thisisnotptt (這不是PTT)》之銘言:
: 小弟最近想練習python的抓站功能,目的是每天定時抓取記憶體顆粒網站的價格
: 但是小弟功力尚淺,怎麼撈都只撈到 "loading...." 撈不到載入過後的表格內文
: 小弟嘗試加入等待時間,但是不是很有效,以下是程式碼,請問該如何抓取載入
: 後的內文呢?
: 網站: DRAMeXchange
: 網址: http://www.dramexchange.com/#memory
: 小弟抓到的狀況都是如圖右,在入中的程式碼,加入延遲後還是得不到圖左的內文
: 圖片: http://www.imgur.com/a7zmgyM.jpg
: <tr>
: <td align="center" colspan"12">
: <img scr ="Common/Images/ajax_loading.gif"/>
: <br/>
: loading.....
: <font color="#FFFFFF">DDR3 2G 256Mx8 1333MHz, DDR3 2Gb 256Mx8 eTT,<br/>
: DDR3 1Gb 128Mx8 eTT, DDR3 1Gb 128Mx8 1333Mhz<br/>
: .
: .
: .
: .
: .
: 請問該怎麼抓到該處Loading後的DATA呢?
: 謝謝!
小弟不才,試著回答一下問題
他網頁是先寫好一個如你的圖右邊的架構,中間的價格等元素,則是當網頁loading的時候,用javascript執行一些程式碼,然後得到JSON的資料,最後取代loading的label
所以會抓到loading的字樣,下面是他網頁原始碼的一部份
function NationalFlashSpotPrice()
....略....
$.getJSON(NationalFlashSpotPriceURL+ 'Common/Json/HomePriceOpt.aspx?Source=Flash_Spot&rnd='+ Math.floor(Math.random() * 99999999999),
....略....
不好意思排版排的有點奇怪。
http://www.dramexchange.com/Common/Json/HomePriceOpt.aspx?Source=Dram_Spot&rnd=23
如果把網址打上去最後面rnd隨便打個數字,應該能抓到一些JSON的資料
JSON的資料python可以利用import json 來讀取(類似dict)
不知道這樣有沒有解決您的問題??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.228.127
※ 編輯: localhostphp 來自: 220.135.228.127 (08/24 16:33)
→
08/24 20:22, , 1F
08/24 20:22, 1F
→
08/24 20:22, , 2F
08/24 20:22, 2F
推
08/25 00:53, , 3F
08/25 00:53, 3F
→
08/25 00:53, , 4F
08/25 00:53, 4F
→
08/25 00:54, , 5F
08/25 00:54, 5F
→
08/25 03:12, , 6F
08/25 03:12, 6F
→
08/25 13:46, , 7F
08/25 13:46, 7F
推
08/28 19:57, , 8F
08/28 19:57, 8F
→
09/01 12:24, , 9F
09/01 12:24, 9F
討論串 (同標題文章)