首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

前端跨域抓取非 JSONP 頁面:YQL 代理或後端代理解析 HTML

     編輯:程式設計綜合問答

目標站不支援 JSONP,返回純 HTML,前端怎麼拿資料?

方案

  1. YQL (Yahoo Query Language) 已停用**,不建議。
  2. 後端代理(推薦):自己寫一個 Controller(Java/Node/Python/Go),用 `HttpClient` 取目標頁面 HTML,用 `Jsoup`/`Cheerio` 解析提取所需資料,返回 JSON 給前端。同源、可快取、可清洗。
  3. 瀏覽器擴展/Userscript:在用戶瀏覽器端跑,繞過同源策略(需用戶安裝)。
  4. CORS 代理服務:如 `cors-anywhere`、`allorigins.win`,**僅限開發/低頻**,生產環境不可靠。

後端代理範例


// Spring Boot
@GetMapping("/api/fetch")
public String fetch(@RequestParam String url) {
    String html = httpClient.get(url).body();
    Document doc = Jsoup.parse(html);
    return doc.select(".target").html(); // 返回片段或 JSON
}

前端直接 `fetch('/api/fetch?url=...')` 拿乾淨資料。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved