genkangyi 发表于 2021-9-11 17:07

node.js 通过selenium 实现反爬页面数据

本帖最后由 genkangyi 于 2021-9-11 17:09 编辑

node.js 安装环境我就不描述了


需要安装 selenium-webdriver      chromedriver   

执行下面语句安装
npm install selenium-webdriver

npm installchromedriver


const chromedriver = require('chromedriver');
const {
Builder,
By,
Key,
until
} = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const fs = require('fs');

fs.writeFile('D:/paqu.txt', '', err => {})

let driver = new Builder().forBrowser('chrome').build();


(async function start() {
let url = ``//url
await driver.get(url);
getData()
})();

async function getData(){
let items = await driver.findElements(By.css("tbody"))
for(let i in items){
    let results = []
    let item = items
    let focus = await item.findElement(By.css("tr > th > em > a")).getText()
    let title = await item.findElement(By.css(".s.xst")).getText()
    let time = await item.findElement(By.css("cite+em>a")).getText()
    let reg = /\[{"(.*)"}\]/g
    console.log(focus, title, time)
    results.push({focus, title, time})
    let re = JSON.stringify(results).replace(reg,"$1")
    fs.writeFile('D:/paqu.txt', `\r\n${re}`, {flag:'a'}, err => {
      if (err) throw err
    })
}
}
欢迎讨论!

时光书窝 发表于 2021-9-11 17:38

小白问下,啥效果啊

genkangyi 发表于 2021-9-11 17:41

时光书窝 发表于 2021-9-11 17:38
小白问下,啥效果啊

可以爬取页面的信息,保存内容到本地文件中

时光书窝 发表于 2021-9-11 18:49

genkangyi 发表于 2021-9-11 17:41
可以爬取页面的信息,保存内容到本地文件中

哦,那是标题写错了吗?反,仿

genkangyi 发表于 2021-9-11 19:02

时光书窝 发表于 2021-9-11 18:49
哦,那是标题写错了吗?反,仿

是反,对的

Andrew_Y 发表于 2021-9-13 20:13

大佬,新人求教,node.js 操作selenium,是相当于安装了的三方模块吗?那就是js版的selenium? 这个需要去那里学习才能掌握呢?

genkangyi 发表于 2021-9-14 09:35

Andrew_Y 发表于 2021-9-13 20:13
大佬,新人求教,node.js 操作selenium,是相当于安装了的三方模块吗?那就是js版的selenium? 这个需要去 ...

嗯,就是第三方模块,具体实现你可以直接搜selenium官方文档,里面有api
页: [1]
查看完整版本: node.js 通过selenium 实现反爬页面数据