使用 node.js 从更改事件中抓取网站数据
Scrape data from website from on change event using node.js
我正在尝试从一个网站抓取数据。因为当页面加载时有下拉列表,我必须从下拉列表中选择 select 特定值。
我正在使用 cheerio
从网络抓取数据,参考 link 是 https://www.npmjs.com/package/cheerio
。
当下拉值发生变化时,他们会像这样调用一些 Javascript
函数 https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange
。
我可以更改 node.js
中的下拉值,但值不会改变。当我在更改下拉列表的值后进行抓取时,我仍在获取默认页面加载数据。
我对此进行了很多搜索,但没有得到任何正确的输出。我需要一些 module
或 code
,它们可以与 'node.js' 一起使用。
刚好最近用了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)
})
我正在尝试从一个网站抓取数据。因为当页面加载时有下拉列表,我必须从下拉列表中选择 select 特定值。
我正在使用 cheerio
从网络抓取数据,参考 link 是 https://www.npmjs.com/package/cheerio
。
当下拉值发生变化时,他们会像这样调用一些 Javascript
函数 https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange
。
我可以更改 node.js
中的下拉值,但值不会改变。当我在更改下拉列表的值后进行抓取时,我仍在获取默认页面加载数据。
我对此进行了很多搜索,但没有得到任何正确的输出。我需要一些 module
或 code
,它们可以与 'node.js' 一起使用。
刚好最近用了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)
})