【问题标题】:Scrape data from website from on change event using node.js使用 node.js 从更改事件中抓取网站数据
【发布时间】:2018-03-20 16:49:29
【问题描述】:

我正在尝试从一个网站上抓取数据。在页面加载时有下拉列表,我必须从下拉列表中选择特定值。

为了从网络上抓取数据,我使用cheerio 参考链接是https://www.npmjs.com/package/cheerio

当下拉值更改时,它们会调用一些Javascript 函数,就像https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange 一样。

我可以更改node.js 中的下拉值,但值不会更改。当我在更改下拉列表的值后进行抓取时,我仍然会获得默认的页面加载数据。

我对此进行了很多搜索,但没有得到任何正确的输出。我需要一些modulecode,它适用于'node.js'。

【问题讨论】:

  • Cheerio 只是解析 html。你需要像 Puppeteer 或 NightmareJS 这样的 javascript 引擎。
  • 感谢您的回复。我会尝试使用它@pguardiario
  • 我使用NightmareJS,它对我有用。谢谢@pguardiario

标签: node.js web cheerio scraper


【解决方案1】:

最近我用了nightmare.js,很好用。为此,您必须安装它。

npm install --save nightmare

主要是我觉得,你可以从 GUI 调试代码。根据您的代码,它将以 GUI 形式显示。感觉就像自动化测试。

const Nightmare = require('nightmare')

const nightmare = Nightmare({ show: true })

如果要关闭 GUI,只需设置 {show:false}

var URL = "www.example.com";
nightmare
  .goto(URL)
  .click('#btn1')
  .end()
  .then(console.log)
  .catch(error => {
     console.error('Search failed:', error)
  })

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    相关资源
    最近更新 更多