站点由托管在亚马逊 ec2 上的匿名机器人抓取。这个机器人不尊重 robots.txt 并在网络服务器上造成高负载,所以我添加了检查请求的反向 IP 是否以“amazonaws.com”结尾,然后服务器立即返回 403 页面。
这解决了问题,但可能会导致其他问题吗?ec2 可能用于一些“好的”机器人,这会导致他们的访问问题。你能举例说明这些问题吗?
我有一个运行在旧版 Oracle Portal 上的旧网站,我们需要将其转换为平面 html 结构。由于服务器损坏,我们无法访问管理界面,即使可以访问,也没有可以与现代软件版本一起使用的导出功能。
抓取网站并将所有页面和图像保存到文件夹中就足够了,但需要保留文件结构;也就是说,如果一个页面位于http://www.oldserver.com/foo/bar/baz/mypage.html那么它需要保存到 /foo/bar/baz/mypage.html 以便各种 Javascript位将继续发挥作用。
我发现的所有网络爬虫都无法做到这一点。他们都想重命名页面(page01.html、page02.html 等)并破坏文件夹结构。
是否有任何爬虫可以重新创建站点结构,就像访问站点的用户所看到的那样?不需要重做页面的任何内容;重新托管后,所有页面都将使用与最初相同的名称,因此链接将继续有效。
出于学习目的,我想制作一个简单的网络索引器,它可以抓取网络并将所有找到的页面及其标题和 URL 保存在 MySQL 数据库中,并使用此表(页面内容未保存):
该数据库大约有多大?大约是数百 MB、GB 还是大约 TB?谢谢。
我的网站受到垃圾邮件机器人和爬虫程序的严重打击。我使用过 Cloudflare,但问题仍然存在。问题是垃圾邮件机器人访问不存在的 url 给我的 Drupal 后端造成了大量负载,这一路走来,引导数据库只是为了提供 404 错误文档。
我不能简单地为所有未找到页面的错误抛出非drupal 404,因为我需要让drupal 捕获它们。因为,varnish 在前面,它可以检查机器人是否表现良好并要求提供有效的 url - 如果不是,它会为它们提供 404 或 403。这些机器人使用这种模式导致错误:
http://www.megaleecher.net/http:/www.megaleecher.net/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_Storage
Run Code Online (Sandbox Code Playgroud)
现在,请。建议使用正则表达式 varnbisg VCL 指令来捕获此 URL 模式并提供来自 varnish 的 404 错误,从而阻止它到达 apache/drupal ?
我知道可以为 Apache 服务器上的所有域创建一个 robots.txt 文件*,但我想附加到每个域的(如果预先存在)robots.txt。我希望为所有域制定一些通用规则,但我需要允许不同的域具有其独特的规则。
有没有办法做到这一点?
(*在我的情况下是 Apache 2.2.x)