it编程 > 前端脚本 > Ruby

高效抓取 JavaScript 网站

60人参与 2025-03-30 Ruby

高效抓取 javascript 网站

使用 javascript 进行网络爬行的可能性

静态网站:axios 和 cheerio
让我们逐步了解如何使用 javascript 抓取静态电子商务网站。在此示例中,我们将使用两个流行的库:用于 http 请求的 axios 和用于解析 html 的 cheerio。

*1。安装依赖项 *
使用 npm 安装 axios 和 cheerio:

npm 安装 axios cheerio

*2。创建脚本 *
创建一个 javascript 文件,例如b. scrapeecommerce.js 并在代码编辑器中打开它。

*3。导入模块*
将 axios 和 cheerio 导入到您的脚本中:

const axios = require('axios');

const cheerio = require('cheerio');

*4。定义目标 url *
选择您要访问的电子商务网站。在此示例中,我们使用假设的 url http://example-ecommerce.com。将其替换为所需的 url:

const url = 'http://example-ecommerce.com';

*5。获取 html 内容 *
使用axios向目标url发送get请求,获取html内容:

axios.get(url)

.then(响应=> {

const html = response.data;

// 现在可以解析 html 内容

})

.catch(错误=> {

console.error('获取页面时出错:', error);

});

*6。解析 html 并提取数据 *
使用 cheerio 解析 html 代码并提取您想要的信息,例如产品名称和价格:

axios.get(url)

.then(响应=> {

const html = response.data;

const $ = cheerio.load(html);

const products = [];  

$('.product').each((index, element) => {  
  const name = $(element).find('.product-name').text().trim();  
  const price = $(element).find('.product-price').text().trim();  
  products.push({ name, price });  
});  

console.log(products);  
登录后复制
登录后复制

})

.catch(错误=> {

console.error('获取页面时出错:', error);

});

*要点*

*完整示例脚本:*
const axios = require('axios');

const cheerio = require('cheerio');

const url = 'http://example-ecommerce.com';

axios.get(url)

.then(响应=> {

const html = response.data;

const $ = cheerio.load(html);

const products = [];  

$('.product').each((index, element) => {  
  const name = $(element).find('.product-name').text().trim();  
  const price = $(element).find('.product-price').text().trim();  
  products.push({ name, price });  
});  

console.log(products);  
登录后复制
登录后复制

})

.catch(错误=> {

console.error('获取页面时出错:', error);

});

*着陆页自定义:*

使用 javascript 抓取网站的网页抓取工具

如果您最近需要 python、ruby 或其他编程语言进行网页抓取,octoparse 是一个出色的工具,特别是对于支持 javascript 的网站。

举个具体的例子:如果你有一个目标网站,想要开始抓取,你首先应该检查该网站是否被阻止js抓取。不同的网站使用不同的保护方法,您可能需要一些时间和令人沮丧的尝试才能意识到问题,特别是如果抓取没有产生预期的结果。然而,使用网络抓取工具,数据提取过程会顺利进行。

许多网络抓取工具可以让您免去编写爬虫的麻烦。 octoparse 在抓取大量 javascript 页面方面特别高效,可以从 99% 的网页中提取数据,包括使用 ajax 的网页。它还提供验证码解决服务。 octoparse 可免费使用,并提供自动发现功能和 100 多个易于使用的模板,可实现高效的数据提取。新用户还可以享受 14 天的试用期。

以上就是高效抓取 javascript 网站的详细内容,更多请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

行为驱动开发 (BDD) 的演变和相关性

03-30

将 Jest 添加到Explainerjs

03-30

如何解决 HTML Ruby 标签之间的空白间距问题?

03-30

Go 中匿名函数的返回值为什么都相同?如何使用闭包解决这个问题?

03-30

HTML中Ruby标签间出现间隔怎么办?

03-30

HTML中Ruby标签与下划线标签如何避免间距问题?

03-30

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论