如何按类名和存储获取页面中的所有链接


how to get all links in a page by classname and store

嗨,我的第一个问题是关于堆栈溢出的,

我想通过类名获取页面上的所有链接,将它们存储在数组中并将其导出为 Json 格式文件 results.json

我的编程背景是PHP,C++,仍在学习Javascript的过程中

这是文档表单的HTML结构,我想在其中提取链接

<div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>

我已经对通过 queryselectorall(( 完成的不同方式进行了一些研究,通过 classname(( 获取元素,但接下来我得到了元素,但如何将它们转换为文本并导出到 Json 文件(什么是函数解码(和任何文件读取函数用于写入文件就像我们在 PHP 中所做的那样?

任何人都可以向我推荐将与执行此操作的代码示例一起使用的功能吗?

我的流程图 :

从页面中提取具有太平洋类名的所有链接 [2] 将它们存储在数组中 [3]将数组编码为 JSON [4]将 JSON 写入

data.Json file

我知道如何做到这一点,但在找出需要使用什么方法、功能以及以什么方式时遇到问题

提前致谢

您可以

通过以下方式做到这一点:-

  1. 选择类元素。

  2. 然后使用循环获取类中存在的所有链接。

function getAllLink(){
    var class1 = document.getElementsByClassName('_zs fwb');
    var array1 = [];
    for(i=0;i<class1.length;i++){
        var str = class1[i].getElementsByTagName('a')[0].href;
        var res = str.split("?"); 
        array1.push(res[0]);
    }
    console.log(array1);
}
window.onload = getAllLink();
<div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>
<div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>
<div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>
<div class="_zs fwb" data-bt="{&quot;ct&quot;:&quot;title&quot;}"><a href="https://somedomain.com/someurl?ref=br_rs">Anchor tage</a><span class="_5dgp"></span></div>

要获取所有链接,请执行以下操作:

var allLinks = document.getElementsByTagName('a');

您也可以尝试使用:

var allLinks = document.querySelectorAll('a');

要获取所有某个类名,请执行以下操作:

var allSomename = document.getElementsByClassName('somename');

这应该足以让你开始,是吗?