【发布时间】:2020-04-08 00:47:21
【问题描述】:
我希望我的脚本从网站中提取 html 数据,但它返回的页面显示它知道我的脚本是机器人,并给它一个“我不是机器人”测试以通过。
它不是返回站点的内容,而是返回一个页面,其中部分内容... "
在您浏览时,您的浏览器\n 的某些内容让我们认为您是机器人。"
我的代码是……
const axios = require('axios');
const url = "https://www.bhgre.com/Better-Homes-and-Gardens-Real-Estate-Blu-Realty-49231c/Brady-Johnson-7469865a";
axios(url, {headers: {
'Mozilla': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.3 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/43.4.0',
}})
.then(response => {
const html = response.data;
console.log(html)
})
.catch(console.error);
我已经尝试了几个不同的标题,但没有欺骗网站认为我的脚本是人类的。这是在 NodeJS 中。
也许这对我的问题有影响,也可能没有,但这段代码有望在我正在构建的 React 网站的后端存在。我不是想把这个网站当作一次性的。我希望我的网站从 this 网站中读取一些内容,而不是在我的网站发生变化时手动更新我的网站。
【问题讨论】:
标签: node.js web-scraping request axios