【发布时间】:2014-09-26 18:01:03
【问题描述】:
我正在从事一个从网站中提取网络数据的抓取项目。我制作了一个脚本来遍历 URL 并解析 HTML 内容并将结构化内容输入我的数据库。脚本运行良好,但最近脚本卡住了,经过调查发现目标站点正在阻止我们的 IP。
我在这个项目中使用 PHP / CURL,现在我收到 403 错误 - 禁止访问,网络请求出错。 这影响了我的脚本的工作,每次我遇到访问限制错误时,都无法从 Web 请求中检索到任何页面。
我知道有很多抓取礼仪要遵守。由于我们无法预见他们如何实现安全功能,我对规范 Web 请求调用感到困惑。 我正在开发一个具有弹性 IP 的亚马逊 AWZ 实例,因此我对他们何时/是否会解除对我的 IP 的禁令感到困惑。
我听说过与抓取一起使用的轮换代理方法,这样目标服务器就不会经常阻止你。但我不确定它的实现。
任何帮助将不胜感激。如有必要,我可以提供任何其他信息。
【问题讨论】:
-
未经许可的大规模抓取不是一个好主意。你真的应该联系网站所有者,了解他们在爬虫上的位置,看看是否有任何官方方法可以获取你需要的数据。
-
我不确定它的实现。这取决于您使用的代理类型。然而,所有可能的选项都在the manual 中描述
-
您是否考虑过联系网站所有者安排数据交换?也许他们有某种你可以使用的 API?
标签: php curl ip web-scraping simple-html-dom