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 18:49
哦,那是标题写错了吗?反,仿
是反,对的 大佬,新人求教,node.js 操作selenium,是相当于安装了的三方模块吗?那就是js版的selenium? 这个需要去那里学习才能掌握呢? Andrew_Y 发表于 2021-9-13 20:13
大佬,新人求教,node.js 操作selenium,是相当于安装了的三方模块吗?那就是js版的selenium? 这个需要去 ...
嗯,就是第三方模块,具体实现你可以直接搜selenium官方文档,里面有api
页:
[1]