2017-08-10 37 views
0

有沒有可能列出html頁面中存在的所有鏈接,給定html鏈接作爲輸入,幾乎你在這裏看到它? http://www.feedbucket.com/?src=http://allearsenglish.libsyn.com/rss&start=0如何提取所有給定的html文件鏈接,甚至文件大小?

它看起來像網站讀取所有存在的鏈接,並給我的總結,並讀取mp3鏈接的文件大小,而無需打開它。

你知道有什麼好的教程可以幫助我學習這個話題或類似的話題嗎?

+0

在Javascript中,由於[同源策略](https://en.wikipedia.org/wiki/Same-origin_policy),無法完成此操作。簡單地說:出於安全原因,除非該網站明確允許,否則無法使用Javascript獲取外部網站的源代碼。你將不得不使用像Java或PHP這樣的服務器端語言來實現這個功能。 – icecub

回答

0

我有個主意。您可以通過使用分割功能,如獲取這些URL的所有鏈接:

var link = "http://www.feedbucket.com/?src=http://allearsenglish.libsyn.com/rss&start=0"; 
var links = link.split("http://"); 
0

如果您使用的是Java在服務器端(因爲Java代碼的)

您可以使用此Java的HTML解析器庫:jsoup

你會從輸入網址這樣的請求的頁面:

String src = request.getParameter("src"); 
Document doc = Jsoup.connect(src).get(); 

,然後解析「DOC」找到像個頁面所有鏈接是:

Elements links = doc.select("a[href]"); 

Here是一個類似的例子。

0

這裏有很多HTML解析庫。對於Java來說,Jsoup非常棒。你會做下面的事情來獲取元素列表。然後你會遍歷列表打印它們,獲取文件大小,任何你想要得到與他們

Jsoup.connect("http://www.feedbucket.com/?src=http://allearsenglish.libsyn.com/rss&start=0").get().getElementsByAttribute("href"); 

什麼HTML解析器庫將要做的就是讓頁面的源代碼,並抓住所有的HTML標籤,然後從中過濾出類似「a」標籤的鏈接。

相關問題