我们有一个可搜索的数据库(DB),我们将结果限制为每页 15 个,并且只有 100 个结果,但仍然让人们试图抓取网站。
我们正在禁止访问速度足够快的网站。我想知道我们还有什么可以做的。Flash 渲染结果可能吗?
我有一个需要抓取、解析然后将结果数据存储在数据库中的网页列表。总数约为 5,000,000。
我目前对解决此问题的最佳方法的假设是部署约 100 个 EC2 实例,为每个实例提供 50,000 个页面进行抓取,然后让它继续运行,然后在该过程完成后将数据库合并在一起。假设运行大约需要一天时间(加载、解析和保存每个页面需要 600 毫秒)。
有没有人有在有限的时间内完成如此大量页面抓取的经验?我以前做过大数字(1.5m),但那是从一台机器上完成的,只花了一个多星期才完成。
我的情况的瓶颈是页面的下载,解析时间不超过 2 毫秒,所以可以简化页面下载过程的东西就是我正在寻找的。
出于好奇,这里有人使用 Google Mini 或 Google Search Appliance 提供内网搜索吗?设置容易吗?他们收取什么样的价格(棒球场数字,我确定这取决于客户)?
我一直在我们的日志中跟踪一些蜘蛛,我在他们的 ip 上做了一个跟踪路由,以发现它们实际上是 EC2 实例。用户代理被列为 Google bot 和 msnbot,但它们不是 Google 或 MS ip。有什么我可以做的吗,欺骗用户代理是一种常见的做法吗?我猜如果我禁止他们的 ip(我已经这样做了),他们只会启动一个新实例并继续。不过,我不想禁止所有 EC2 实例。
是否有iplists.com的官方 API ,我可以从那里获取蜘蛛列表?
我的目的是将这些 IP 列入白名单以进行站点抓取。
我利用了亚马逊的 AWS 产品,如果我想得对,请从高层次解释这一点。
所以我的本地机器上几乎没有 Python 抓取脚本。我想使用 AWS 实现超快速的互联网连接和更便宜的价格 - 赢/赢!
我知道我可以在 EC2 上部署 centOS/Ubuntu 实例。安装必要的 Python 库。使用 boto (Python) 启动和停止实例以节省成本。到目前为止我的想法正确吗?(可行吗?)
我将 CRON 一些脚本,这些脚本将开始获取(抓取)HTML 文件以供稍后解析。所以这些 HTML 文件被复制到 S3 进行存储(或者我应该将它们转储到我的本地机器,因为这是我将在 MySQL 中解析和存储的方式?)。
请告知我的假设和我对 AWS 的几小时阅读/谷歌搜索的了解是否有意义。