作者yamitsuki (@@)
看板PHP
標題[請益] 用PHP處理網頁包含的表格資料
時間Tue Dec 25 19:13:45 2007
今天若我想自動抓取某網頁上的一段表格裡的各個欄位的資料
先用了 file("網址"); 取得了網頁原始碼
接著用list跟explode擷取出<table>跟</table>之間的內容
但今天要處理剩下的表格原始碼部份時,發現接成一大串的原始碼很難切割
就算用<td>、<tr>作為explode區分子也很難處理
(因為還會有描述大小跟顏色的程式碼部份)
不像直接複製時,會直接把<td>的欄與欄之間判別為空白,而<tr>判別為換行
還能用空格跟\n分解處理資料
有另外嘗試過用strip_tags拆掉html flags,結果是連表格部分也拆掉
變成更複雜的一長串單行資料= =
有沒有類似strip_tags的函式能拆掉並取代掉特定html flags(例如td=>\s;tr=>\n)
--
有人跟我說用REGEXP拆表格比較方便
但還是搞不太懂該怎麼用@@
(要不就辨識失敗,要不就常常分一分結果抓錯目標)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.31.157
※ 編輯: yamitsuki 來自: 140.120.31.157 (12/25 19:14)
推 LPH66:其實regexp比較方便 不然你可以參考str_replace 12/25 19:50
→ KC73:如果不是非要用這個的話, 用 js 的 getElementByTagNames 和 12/25 20:28
→ KC73:innerHTML 取得內容, 再丟回給 PHP 處理..可能簡單一點。 12/25 20:29
推 suckerlove:用js,dom去爬table的格子...其實就是樓上的說法 12/25 23:35