📜  如何使用 javascript 抓取网页(1)

📅  最后修改于: 2023-12-03 15:08:20.424000             🧑  作者: Mango

如何使用 JavaScript 抓取网页

什么是抓取网页

抓取网页,也叫做网页抓取、网页爬取,就是通过程序自动获取互联网上的数据,然后利用这些数据做数据挖掘、分析或者直接用于其他应用。

技术栈
  • JavaScript
  • Node.js
  • Cheerio
代码实现
const request = require('request')
const cheerio = require('cheerio')

// 请求地址
const url = 'https://example.com'

// 发起请求
request(url, (error, response, body) => {
  if (!error && response.statusCode === 200) {
    // 将获取到的 HTML 字符串转换为可操作的 DOM 对象
    const $ = cheerio.load(body)
    
    // 当前页面标题
    const title = $('title').text()
    
    // 找到页面中带有 href 属性的 a 标签
    $('a[href]').each((i, element) => {
      // 获取超链接和文本
      const href = $(element).attr('href')
      const text = $(element).text()
      
      // 输出链接和文本
      console.log(`${text}: ${href}`)
    })
  }
})
代码解释
  1. 引入 requestcheerio 模块,分别用于发起 HTTP 请求和解析 HTML 文档。
  2. 定义需要请求的 URL 地址。
  3. 发起 HTTP 请求,并通过回调函数接收响应。
  4. 判断请求是否成功,并获取响应的 HTML 内容。
  5. 将 HTML 字符串转换为 jQuery 对象,方便操作。
  6. 通过 jQuery 选择器获取页面标题。
  7. 通过 jQuery 选择器获取所有带有 href 属性的超链接标签。
  8. 遍历超链接标签,获取链接和文本内容。
  9. 输出链接和文本内容。
注意事项
  1. 抓取网页需要遵守相关法律法规,不要进行非法操作。
  2. 在使用抓取工具时,应当注意控制请求频率,以免对目标站点造成不必要的影响。
  3. 当前示例代码仅用于学习和研究,如需商业应用请自行获取相关许可证。