javascript 木偶蜘蛛.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 木偶蜘蛛.js相关的知识,希望对你有一定的参考价值。

async function link(keys) {
  const browser = await puppeteer.launch({
    ignoreHTTPSErrors: true,
    headless: false,
    devtools: false
  })
  const page = await browser.newPage()
  let results = {}
  console.log('keys', keys)
  for (let key of keys) {
    await page.goto(`https://btso.pw/search/${key}`)
    // await page.waitFor(5000)
    const result = await page.evaluate(() => {
      var data = []
      var t = document.querySelector('.data-list')
      if (t) {
        var a = t.getElementsByTagName('a')
        for (var i = 0; i < a.length; i++) {
          if (!a[i].className.match('btn')) {
            data.push({
              title: a[i].title,
              maglink:
                'magnet:?xt=urn:btih:' +
                a[i].outerHTML
                  .replace(/.*hash\//, '')
                  .replace(/" .*\n.*\n.*\n.*/, ''),
              size: a[i].nextElementSibling.textContent,
              src: a[i].href
            })
          }
        }
      }
      return data
    })
    results[key] = result
  }
  browser.close()
  return results
}

以上是关于javascript 木偶蜘蛛.js的主要内容,如果未能解决你的问题,请参考以下文章

javascript 伪装 - 无法察觉的木偶戏

javascript 木偶碎片

js如何判断访问来源是来自搜索引擎(蜘蛛人)还是直接访问

带有木偶或卓别林的 jQuery Mobile?

百度蜘蛛爬行CSS和JS很多,这会不会浪费了蜘蛛的资源

javascript 蜘蛛JD-书