作者yhn0tgb60 (呦厚厚)
看板Web_Design
標題[問題] 如何從其他網頁抓資料
時間Sun Oct 25 18:57:45 2015
我現在在自己的網頁 要從其他的網頁抓資料 放在自己的網頁
例如 在 yahoo字典 把中文翻譯的文字抓過來
我一開始 打算用 window.open 打開 yahoo字典的網頁,
https://tw.dictionary.yahoo.com/dictionary?p=table
然後用 回傳值 去解析 html的資料, 把中文翻譯的欄位挑出來,
不過好像是權限的關係, 所以不能這樣做,
後來我用 jquery 的 load
想說先把網頁 load 下來, 在分析 html,
不過還是不行 = =
請問這問題要怎麼解???? 謝謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.169.16
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1445770668.A.144.html
1F:→ mmis1000: 不可能在前端做到,不然會有很多網頁很樂意幫你把你的旗 10/25 19:15
2F:→ mmis1000: 銀行帳戶都存下來的 10/25 19:16
3F:推 Hevak: 你舉的例子那種程度可以用YQL之類的服務解決 10/25 19:18
4F:→ Hevak: 你的還是不行主要是因為ajax的same-origin policy, 10/25 19:25
5F:→ Hevak: 解決方法的其中之一就是用第三方服務(或例如自己的後端)做 10/25 19:25
6F:→ Hevak: 輔助,YQL就是可以拿來當第三方服務的其中一種 10/25 19:26
7F:→ Hevak: 當然如果你要請求資料的網站本身有提供API的話,就儘量用 10/25 19:28
8F:→ Hevak: 他自己的API抓JSON/JSONP回來,會比這樣拆網頁方便得多 10/25 19:28
難道我不能把 html 直接下載到本機端, 然後再讀取分析嗎?
9F:推 oToToT: 我有自己做後端用過,不過那樣速度會滿慢的 10/25 19:45
10F:推 pm2001: 用後端解 自己收回來後parse 10/25 19:52
另外還有個問題
我用 HttpRequest抓自己的 xml 也不行,
html 的路徑
file:///Users/linky/Documents/Design/EnglishPracticeTool/test1/test1.html
xml 的路徑
file:///Users/linky/Documents/Design/EnglishPracticeTool/test1/list.xml
錯誤訊息
XMLHttpRequest cannot load
file:///Users/linky/Documents/Design/EnglishPracticeTool/test1/list.xml.
Cross origin requests are only supported for protocol
11F:推 ian90911: 權限...用系統管理員模式執行你的編輯器 10/25 23:01
12F:推 pm2001: 原因都寫給你了 就cross domain的問題啊 10/25 23:02
13F:→ Hevak: 純前端就用類似yql的服務幫你把html拉下來啊囧 10/26 12:43
14F:→ Hevak: 新的錯誤訊息的問題在於ajax要在實際的web server上才能用, 10/26 12:53
15F:→ Hevak: 臨時要方便測試的話可以用像是sublime server、或是bracket 10/26 12:53
16F:→ Hevak: s的live preview功能 10/26 12:54
17F:→ Hevak: 或是你也可以先在像codepen或jsfiddle這類服務上寫來試試看 10/26 12:54
真的~~~ 很多都要實際上線才能run
我現在是把站架在 github
上傳 github 後 XML就可以載到了
之前在寫 錄音的功能時 也是必須上線才能使用
只可惜 github 不能跑 php
之前是用 Amazon 不過試用期過後 開始收費就停了
現在要找個可以終身免費了 我只要很小很小的流量就夠了
18F:→ eggimage: 你用localhost就可以測了啊 10/26 14:51
19F:→ oToToT: 隨便個免費hosting都可以有你要的需求吧 10/26 22:23
我先用 YQL 處理了
哪天有空再來搞免空 謝謝拉
※ 編輯: yhn0tgb60 (220.132.169.16), 10/26/2015 23:54:17