我无法找到验证用户身份的方法。 当你手动启动Node JS Server时,这工作正常(是的,它的丑陋代码): Sharepoint不知道我的用户数据,所以他们导航到登录页面,在那里我可以填写登录信息,然后移动到我要求的网站。 但在此期间有2个更改:1。此登录页面不再存在,如果找不到 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在尝试从网站上抓取一些内容,我认为 captha 正在避免这项任务。 我正在使用 userAgent 但它仍然无法正常工作。 这是代码:
// helper.js
const puppeteer = require('puppeteer');
const userAgent = require('user-agents');
async function getDynamicPageHtml(url) {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setUserAgent(userAgent.toString());
await page.goto(url, { waitUntil: 'networkidle0' });
const html = await page.evaluate(() => document.querySelector('*').outerHTML);
await browser.close();
return html;
} catch (err) {
console.error(err);
return null;
}
}
module.exports = {
getDynamicPageHtml
}
//idealista.js
const cheerio = require('cheerio');
const browser = require('./helper');
async function getData() {
const html = await browser.getDynamicPageHtml('https://www.idealista.com/alquiler-habitacion/madrid/chamberi/con-precio-hasta_450,compartido-2-personas/?ordenado-por=fecha-publicacion-desc&ordenado-por=fecha-publicacion-desc');
console.log(html);
const $ = cheerio.load(html);
const announce = $('#main-content > section > article').map((index, element) => {
return $(element).first().text().trim();
}).toArray();
announce.forEach((element, index) => {
// do stuff
});
}
module.exports = {
getData
};
// 应用程序.js
const express = require('express');
const idealista = require('./idealista');
const app = express();
app.set('port', process.env.PORT || 3000);
app.use(express.json());
app.use(express.urlencoded({extended: true}))
app.listen(app.get('port'), async () => {
console.log('server on port ',app.get('port'));
await idealista.getData();
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.