[英]How to scrape links from a webpage using javascript?
我正在寻找 facebook 提要上显示的帖子链接。 我注意到帖子链接有两个共同点,它有https://www.facebook.com/username/posts/1234567890
https://www.facebook.com/和 /posts/ 始终存在。
我使用此代码获取页面上的所有链接,但我不知道如何只获取链接
https://www.facebook.com/和 /posts/ 在此。
var links = document.querySelectorAll("a[href^='https://www.facebook.com']");
for(var i = 0; i< links.length; i++){
console.log(links[i].href);
}
我尝试了正则表达式,这是我在学习此 url 模式的正则表达式后发现的
^(https://www.|http://)[a-zA-Z0-9._$]+.[a-zA-Z]+/[a-zA-Z0-9]+/posts/ [0-9]+$
但我不知道如何使用它来获得结果。
谁能帮我解决这个问题?
使用getElementsByTagName
,转换为数组,根据您的要求进行过滤,然后使用 map 获取 URL:
[...document.getElementsByTagName("A")]
.filter(link =>
link.href.includes("https://www.facebook.com/") &&
link.href.includes("/posts/")
)
.map(link => link.href)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.