登录网页并解析数据

时间:2018-07-05 13:29:50

标签: node.js

有一个网站,该网站使用HTML登录表单来通过用户名/密码进行身份验证。我需要编写NodeJS应用程序,该应用程序将登录到该网站,导航到某些链接并提取数据。导航部分很清楚,我可能可以使用cheerio查找元素。但是尚不清楚使用哪种框架进行登录。是否有任何模块可以使提交简单表格和存储Cookie变得简单?

1 个答案:

答案 0 :(得分:0)

使用噩梦https://www.npmjs.com/package/nightmare

这只是示例:

您可以单击“提交”按钮

const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })

nightmare
  .goto('https://duckduckgo.com')
  .type('#search_form_input_homepage', 'github nightmare')
  .click('#search_button_homepage')
  .wait('#r1-0 a.result__a')
  .evaluate(() => document.querySelector('#r1-0 a.result__a').href)
  .end()
  .then(console.log)
  .catch(error => {
    console.error('Search failed:', error)
  })

您可以设置Cookie

nightmare
  .goto('http://google.com')
  .cookies.set({
    name: 'token',
    value: 'some token',
    path: '/query',
    secure: true
  })
  // ... other actions ...
  .then(() => {
    // ...
  })