JavaScript链接提取器
JavaScript Link Extractor
我感兴趣的是从使用JavaScript动态生成链接的网站中提取链接,这些链接在HTML源代码中基本上是不可见的。例如,这里有一个通过js菜单插入链接的示例网站:http://www.stcroixwebsolutions.com/
当我把鼠标悬停在链接上时,我会看到链接,但它们在HTML源代码中是不可识别的。
我想输出这样的链接:
http://www.stcroixwebsolutions.com/?110000
http://www.stcroixwebsolutions.com/?110010
等
你建议我用什么来提取这些链接?
你可以试试这样的。。。这至少会让你开始!
http://jsfiddle.net/Qv4St/
function showLinks() {
var links = document.getElementsByTagName( 'a' );
var last = links.length;
var list = {};
// for each anchor...
for (var i = 0; i < last; i++) {
list[links[i].href] = i;
console.log(list);
//' - text=' + links[i].innerHTML + '<br>';
}
var linksList = document.getElementById( 'linksList' );
linksList.innerHTML = list;
}
var getLinks = function () {
"use strict";
var a = document.getElementsByTagName("a"),
b = a.length,
c = 0,
d = [],
e = "",
f = location.href;
f = f.substring(0, f.lastIndexOf("/"));
for (c = 0; c < b; c += 1) {
e = a[c].getAttribute("href");
if (typeof e === "string" && e.length > 4) {
if (e.charAt(0) === "/" || e.charAt(0) === "?") {
e = f + e;
}
d.push(e);
}
}
return d.join("'n") + "'n" + d.length + " total links";
},
myLinks = getLinks(); //myLinks variable will contain the desired output.
//To output to the console just replace the line with 'return' with this code:
//console.log(d.join("'n") + "'n" + d.length + " total links");
运行此代码可以返回列表中给定页面上的所有超链接的列表,每个结果都在自己的行上。
编辑:我现在将相对链接转换为绝对URI。
有一个标准的document.links集合,它是文档中的所有链接。简单地重复一遍。
相关文章:
- 给定带有位置“loc”的链接,搜索使用谷歌地图API从标记中提取纬度和经度
- 如何在用户提交链接时添加提取推文并将其发布到站点的功能
- JavaScript链接提取器
- 从html文件中的js中提取链接
- Tinymce-4:仅从链接中提取文本
- 如何在 Java 中从 HTML 页面中提取 JavaScript 链接
- 同时提取两个链接
- 提取 URL 的中间部分并将其附加到新的外部链接以在 IE8 中显示
- xPath - 从锚链接中提取 href 的内容
- 提取 SRC 并使用 jQuery 粘贴之前在 HTML 链接中
- 提取html页面中所有以.js扩展名结尾的链接
- 从Javascript关联数组中提取HTML链接以应用于D3生成的表
- JavaScript如何从所选文本中提取链接
- 使用Javascript提取外部动态链接
- 如何从链接中提取href属性并创建该属性的特定模式
- Node.js Bot从消息中提取链接
- 使用JavaScript书签从图像链接中提取alt文本
- 从Javascript/Regex中的youtube链接中提取视频ID
- 如何使用jQuery阅读网页并提取某些链接
- 如何使用javascript从iframe中提取链接