node.js - 关于抓取网页被禁止的问题
PHP中文网
PHP中文网 2017-04-17 11:30:38
[Node.js讨论组]

用 Node.js 的 http 来抓取某页面:

var http = require('http');

http.get('http://example.com', function (res) {
  console.log(res.statusCode);
});

返回的状态码是 404,但是网页能够正常访问,我用自己服务器测试也是一样,所以应该没有 ban 掉我的 ip。这是否代表着对方已经通过服务器端禁掉了他人的抓取?
还有就顺带求教,这是如何做到的?

胡乱猜测,求各位大大指点一下,以上。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
ringa_lee

检查一下User-AgentReferer,另外再看看Cookie,还有那个网页是不是用Ajax动态生成的。
你可以用Chrome的“开发者工具”或者Firebug看看浏览器再打开这个网页时都发了哪些东西,然后把这些东西都加到你的请求里去。

伊谢尔伦

我猜可能是设置了 Content-Security-Policy

大家讲道理

把浏览器发请求时的所有header都加上,应该可以的。

PHPz

很简单,你的header没有UA,直接被服务器拦截成攻击,加上UA,Referer等就可以抓到了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号