我正在寻找一种从Java中的HTML页面中提取所有资源链接的方法。 (URL链接,文件链接..)
我首先考虑提取src
,href
属性中的所有元素,但列表并不详尽。这里有一个代码示例:Jsoup, extract links, images, from website. Exception on runtime。
作为一个棘手的例子,我希望能够检测隐藏在JavaScript中的链接(也可以隐藏在HTML DOM中的任何位置):
<IMG onmouseover="window.open('http://www.evil.com/image.jpg')">
修改
1)我不是在寻找基于正则表达式的解决方案,因为它们处理HTML文档不可靠
2)我曾尝试使用像JSoup这样的Html DOM解析器。它们可以很好地提取标签及其属性。但是我还没有找到一种方法来检测JavaScript中的链接。
3)也许有一个可用的API试图呈现页面并检测需要加载哪些资源?
你有什么想法吗?
感谢。
答案 0 :(得分:1)
如果您想使用具有一些编程知识的PHP,那么这是一个库。
http://simplehtmldom.sourceforge.net/
我使用此库从标签中提取信息,甚至从标签的属性中提取信息。这正是您需要做的事情,而无需使用复杂的代码。