【Puppeteer】爬虫脚本中插入 jQuery 的方法

发布时间:2019-05-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【Puppeteer】爬虫脚本中插入 jQuery 的方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

利用 Puppeteer 操作无头浏览器进行数据爬取的时候,如果 targetPage 已经引入了jQuery 则可以直接用 $ 操作DOM结构,方法是声明一个变量

VAR $ = window.$
var ITems = $('.list-wp a')

如果没有引入可以自行插入 jquery 方便接下来的DOM操作

  await page
    .mainFrame()
    .addScriptTag({
      url: 'https://cdn.bootcss@R_126_1718@/jquery/3.2.0/jquery.min.js'
    })

另外我发现有一些网站即使已经引用了jQuery 也无法 使用 window.$ 获取 $ 方法,所以最好每次都在脚本中直接自行引入一个 jQuery 完整脚本如下(以爬取站酷首页列表为例

const puppeteer = require('puppeteer')
void(async () => {
  const browser = await puppeteer.launch({
    headless: true
  })
  const page = await browser.newPage()
  await page.goto('https://www.zcool.com.cn')
  await page
    .mainFrame()
    .addScriptTag({
      url: 'https://cdn.bootcss.com/jquery/3.2.0/jquery.min.js'
    })
  await page.waitFor(2000)

  const result = await page.evaluate(() => {
    var items = $('.card-box')
    var links = []

    if (items.length >= 1) {
      items.each((index, item) => {
        let it = $(item)
        let rate = Number(it.find('.statistics-tuijian').text())
        let title = it.find('.card-info a').text().replace(/s+/g, '')
        let poster = it.find('img').attr('src')
        links.push({
          title,
          rate,
          poster
        })
      })
    }
    return links
  })
  console.log(result)
})()

脚本宝典总结

以上是脚本宝典为你收集整理的【Puppeteer】爬虫脚本中插入 jQuery 的方法全部内容,希望文章能够帮你解决【Puppeteer】爬虫脚本中插入 jQuery 的方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。