Re: [問題] 如何從其他網頁抓資料

看板Web_Design作者 (無)時間8年前 (2015/10/25 23:13), 8年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《yhn0tgb60 (呦厚厚)》之銘言: : 我現在在自己的網頁 要從其他的網頁抓資料 放在自己的網頁 : 例如 在 yahoo字典 把中文翻譯的文字抓過來 : 我一開始 打算用 window.open 打開 yahoo字典的網頁, : https://tw.dictionary.yahoo.com/dictionary?p=table : 然後用 回傳值 去解析 html的資料, 把中文翻譯的欄位挑出來, : 不過好像是權限的關係, 所以不能這樣做, : 後來我用 jquery 的 load : 想說先把網頁 load 下來, 在分析 html, : 不過還是不行 = = : 請問這問題要怎麼解???? 謝謝了 這部份用後端做可能比較容易達成,不知道你是用哪種後端語言就是了 這邊提供幾個解法 =================================== 使用ASP.NET C#的情況: =================================== https://msdn.microsoft.com/zh-tw/ee787055.aspx HTML Agility Pack:簡單好用的快速 HTML Parser http://www.dotblogs.com.tw/jackbgova/archive/2014/06/11/145488.aspx [ASP.NET][C#]使用HtmlAgilityPack(2) 擷取網頁上的匯率 這兩篇都是使用Asp.net C#的HTML Agility Pack做為網頁分析器 讓我們可以使用html標籤來取資料,不用刻一些很難懂的正規表達式 例如 docStockContext.DocumentNode.SelectNodes("./tr[1]/th"); 直接選出tr th 標籤 ================================== 使用PHP的情況: ================================== http://registerboy.pixnet.net/blog/post/24262327 PHP Simple HTML DOM Parser 強力解析html工具 http://blog.wu-boy.com/2010/09/codeigniter [CodeIgniter] 簡單擷取 html 原始碼(PHP Simple HTML DOM Parser) 同樣是幫助我們快速分析網頁,還蠻直覺的,把網址塞進去,把東西倒出來 // 產生DOM物件 $dom = file_get_dom('http://www.google.com/'); // 找出所有網頁連結 $result = $dom->find('a'); foreach($result as $v) {echo $v->href . '<br>';} Yahoo字典那個我試了一下,不需要使用post,網址換換就好 http://tw.dictionary.search.yahoo.com/search?p=tree&fr2=dict 如果未來碰到需要使用post才能取得網頁的話,可以去研究一下php curl, 取回傳結果後再用Simple Html Dom Parser就好 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.187.87.180 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1445785991.A.A73.html ※ 編輯: nottt (218.187.87.180), 10/25/2015 23:13:23

10/26 13:51, , 1F
感謝
10/26 13:51, 1F
文章代碼(AID): #1MBF67fp (Web_Design)
文章代碼(AID): #1MBF67fp (Web_Design)