cheerio实战案例

cheerio实战案例cheerio 实战 常用操作 cheerio 是一个类似于 jQuery 的库 它提供了一组简单而强大的 API 来解析和操作 HTML 以下是一些常用的 cheerio 用法示例 包括循环 DOM 元素 加载 HTML const cheerio require

大家好,我是讯享网,很高兴认识大家。

cheerio实战

常用操作

cheerio 是一个类似于 jQuery 的库,它提供了一组简单而强大的 API 来解析和操作 HTML。以下是一些常用的 cheerio 用法示例,包括循环 DOM 元素:

  1. 加载 HTML:
    const cheerio = require('cheerio'); const html = '<div><h1>Title</h1><p>Paragraph</p></div>'; const $ = cheerio.load(html); 

    讯享网
  2. 选择 DOM 元素:
    讯享网const title = $('h1').text(); // 获取 h1 元素的文本内容 const paragraphs = $('p'); // 获取所有 p 元素 
  3. 循环 DOM 元素:
    paragraphs.each((index, element) => { 
          const text = $(element).text(); // 获取每个 p 元素的文本内容 console.log(text); }); 
  4. 获取和设置属性:
    讯享网const link = $('a').attr('href'); // 获取链接的 href 属性值 $('img').attr('src', 'new-image.jpg'); // 设置图片的 src 属性值 
  5. 操作 DOM 结构:
    $('ul').append('<li>New item</li>'); // 在 ul 元素中添加新的 li 元素 $('p').remove(); // 删除所有 p 元素 
  6. 过滤 DOM 元素:
    讯享网const firstParagraph = $('p').first(); // 获取第一个 p 元素 const lastParagraph = $('p').last(); // 获取最后一个 p 元素 const hasClass = $('div').hasClass('container'); // 检查 div 元素是否有指定的类名 

这只是 cheerio 的一些常用用法示例,您可以根据具体需求查阅 cheerio 的文档以了解更多功能和用法。希望这些示例对您有所帮助!如果您有任何其他问题,请随时提问。

动态html来源网络请求

上面 cheerio 是写死html,下面展示实战网络请求中。

使用axios

如果你想使用axios库来发送HTTP请求并获取响应,可以按照以下示例代码进行操作:


讯享网

const cheerio = require('cheerio'); const axios = require('axios'); const url = 'http://example.com'; // 替换为你要请求的URL axios.get(url) .then((response) => { 
    const html = response.data; const $ = cheerio.load(html); // 在这里使用$来处理响应的HTML内容 const title = $('h1').text(); const paragraph = $('p').text(); console.log('标题:', title); console.log('段落:', paragraph); }) .catch((error) => { 
    console.error('请求出错:', error); }); 

在这个示例中,我们首先引入了cheerioaxios库。然后,我们定义了一个url变量,其中包含了你要请求的URL地址。

接下来,我们使用axios.get()方法发送GET请求,并传入URL。然后,我们使用.then()方法来处理成功的响应,并在回调函数中获取响应的HTML内容。

在回调函数中,我们使用cheerio.load()方法将响应的HTML内容加载到$对象中。然后,我们可以使用$对象来处理HTML内容,例如提取标题和段落等信息。

最后,我们将标题和段落打印到控制台中。你可以根据实际需求,对响应的HTML内容进行其他操作。请确保替换url为你要请求的实际URL。

使用http请求

如果你想将html来源替换为响应,你可以使用Node.js的http模块来发送HTTP请求并获取响应。以下是一个示例代码:

讯享网const cheerio = require('cheerio'); const http = require('http'); const url = 'http://example.com'; // 替换为你要请求的URL http.get(url, (response) => { 
    let data = ''; response.on('data', (chunk) => { 
    data += chunk; }); response.on('end', () => { 
    const $ = cheerio.load(data); // 在这里使用$来处理响应的HTML内容 const title = $('h1').text(); const paragraph = $('p').text(); console.log('标题:', title); console.log('段落:', paragraph); }); }).on('error', (error) => { 
    console.error('请求出错:', error); }); 

在这个示例中,我们首先引入了cheeriohttp模块。然后,我们定义了一个url变量,其中包含了你要请求的URL地址。

接下来,我们使用http.get()方法发送GET请求,并传入URL和一个回调函数。在回调函数中,我们使用data变量来存储响应的数据。

response.on('end')事件中,我们使用cheerio.load()方法将响应的HTML内容加载到$对象中。然后,我们可以使用$对象来处理HTML内容,例如提取标题和段落等信息。

最后,我们将标题和段落打印到控制台中。你可以根据实际需求,对响应的HTML内容进行其他操作。请确保替换url为你要请求的实际URL。

小讯
上一篇 2025-03-27 10:52
下一篇 2025-01-27 13:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/70107.html