用JavaScript有效地将网页数据提取到数据结构中
Efficiently extracting webpage data into a data structure with JavaScript
我是 JS 的新手,我正在尝试找出执行此任务的最有效方法。
Stack Exchange 在 https://stackexchange.com/sites
保留其成员站点列表
将此数据提取到数据结构中的最有效方法是什么,例如 JavaScript 中的数组或字典?
似乎所有的 stackexchange 站点都是使用相同的框架构建的。如果您查看控制台,您会看到在任何 stackexchange 站点上都定义了 javascript object StackExchange
。
如果您只想抓取问题中的 link,您可以在浏览器中转到那里,然后在控制台中输入:$('.gv-item-collapsed-wrapper h2').text()
该页面已加载 jQuery,您可以使用它来搜索页面上的元素。该代码片段将以字符串形式向您显示所有网站标题。
更好(但更复杂一点)
var arr = [];
$('.gv-item-collapsed-wrapper h2').each(function(){arr.push($(this).text())});
我只测试了一小部分网站,这似乎有效:
window["StackExchange"] !== undefined
如果你查看任何页面的来源,总会有这样的内容:
StackExchange.ready(function () {
所以基本上你是在检查 class、StackExchange
是否存在,如果存在,很可能(我敢肯定在互联网上,有人 borrowing/stealing 代码或使用相同的名称)StackExchange 站点。
我是 JS 的新手,我正在尝试找出执行此任务的最有效方法。
Stack Exchange 在 https://stackexchange.com/sites
保留其成员站点列表将此数据提取到数据结构中的最有效方法是什么,例如 JavaScript 中的数组或字典?
似乎所有的 stackexchange 站点都是使用相同的框架构建的。如果您查看控制台,您会看到在任何 stackexchange 站点上都定义了 javascript object StackExchange
。
如果您只想抓取问题中的 link,您可以在浏览器中转到那里,然后在控制台中输入:$('.gv-item-collapsed-wrapper h2').text()
该页面已加载 jQuery,您可以使用它来搜索页面上的元素。该代码片段将以字符串形式向您显示所有网站标题。
更好(但更复杂一点)
var arr = [];
$('.gv-item-collapsed-wrapper h2').each(function(){arr.push($(this).text())});
我只测试了一小部分网站,这似乎有效:
window["StackExchange"] !== undefined
如果你查看任何页面的来源,总会有这样的内容:
StackExchange.ready(function () {
所以基本上你是在检查 class、StackExchange
是否存在,如果存在,很可能(我敢肯定在互联网上,有人 borrowing/stealing 代码或使用相同的名称)StackExchange 站点。