什么样的网络主机可以让你在上面运行爬虫?

Posted

技术标签:

【中文标题】什么样的网络主机可以让你在上面运行爬虫?【英文标题】:What sort of web host lets you run crawlers on it? 【发布时间】:2010-11-16 10:47:47 【问题描述】:

我正在为我的一门大学课程做一个毕业项目,我需要找到一个地方来运行我用 C# 编写的几个爬虫。由于没有网络托管经验,我有点迷茫。这是任何网站都允许的吗?我是否需要一个特殊的主机来提供对服务器的更多访问权限?爬虫是一个简单的应用程序,它完成它的工作,然后定期将信息写入远程数据库。

【问题讨论】:

你不能在你的台式机/笔记本电脑或大学的服务器上运行它吗? 【参考方案1】:

网络爬虫是对普通用户的模拟。它像浏览器一样访问网站,获取从服务器返回的 html 代码(javascript 等)(因此没有对服务器代码的内部访问)。如此一来,任何网站都可以被抓取。

注意一些web crawler ethics guidelines。有些页面你不应该索引或跟随它的链接。网络开发人员会为网络爬虫构建一些文件和说明,说明您可以索引或遵循的内容。

【讨论】:

【参考方案2】:

如果由于某种原因您无法在桌面上运行它,您将需要一个可以让您执行任意 C# 代码的主机。由于潜在的安全隐患,大多数廉价的 Web 服务器不会这样做,因为同一台服务器上会运行其他几个人。

这意味着您需要在拥有自己操作系统的服务器上。 VPS - 虚拟专用服务器,虚拟化用于为您提供自己的操作系统但共享硬件 - 或您自己的专用服务器,您拥有自己的硬件和软件。

请注意,如果您在以任何方式共享的服务器上运行,则需要确保限制自己,以免给邻居造成问题;您的主要问题是不会使用过多的 CPU 或带宽。这不仅仅是出于礼貌 - 如果您在他们的网络上造成问题,大多数网络主机将暂停您的主机,例如通过自己消耗资源来拒绝其他用户使用您正在使用的硬件。您通常可以爆发更高的使用水平,但如果您长时间维持它们,它们会阻止您。

【讨论】:

【参考方案3】:

这似乎与 web 托管无关。您只需要一台具有 Internet 连接的机器和一个数据库服务器。

如果我是你,我会向你的大学查询。至少在我那个年代,毕业项目可以在内部安排很多。

如果做不到这一点,您可以查看一个简单的 VPS (Virtual Private Server) 帐户。除非您确定您的应用程序在 Mono 下运行,否则您将需要一个 Windows 应用程序。资源限制通常比您从专用服务器获得的要低很多,但它们相对实惠。有些会提供一个 MS SQL Server 数据库,您可以在 VPS 帐户旁边使用(在另一台机器上)。在 VPS 本身上安装 SQL Server 可能是一个许可问题。

请务必在开户前查看使用条款以及(虚拟)系统规格。还要检查是否有某种最短合同期限。有时这可能会超过一个月,尤其是在没有安装费的情况下。

如果可能的话,找一个地理位置离你很近的房东。使用远程桌面远程访问世界另一端的服务器可能会有点烦人。

【讨论】:

【参考方案4】:

80legs 让您可以使用他们的爬虫通过您自己的程序处理数百万个网页。

价格如下:

每百万页 2.00 美元 每 CPU 小时 0.03 美元

他们声称每天抓取 20 亿个网页。

【讨论】:

【参考方案5】:

您将需要 VPS(虚拟专用服务器)或完整的专用服务器。爬虫只不过是“爬取”互联网的应用程序。虽然您可以将网站设置为爬虫,但这是不切实际的,因为您的爬虫必须访问该网页才能工作。您必须阅读主机的 ToS(服务条款)以查看使用条款。如果您尝试使用大量带宽,即使它们为您提供了足够的带宽,一些价格较低的主机会以“对网络产生负面影响”为由切断您的连接。

Linux 服务器的 VPS 价格约为 30-80 美元,Windows 服务器的价格约为 60 美元以上。 linux 和 windows 服务器的专用服务运行 100 美元以上。

【讨论】:

【参考方案6】:

您不需要任何虚拟主机来运行您的蜘蛛。只需要求一台具有网络连接的 PC 可以充当专用服务器,配置数据库并从那里运行爬虫。

【讨论】:

以上是关于什么样的网络主机可以让你在上面运行爬虫?的主要内容,如果未能解决你的问题,请参考以下文章

怎么让虚拟机的网络独立,与主机网络隔离?

python基础爬虫的框架和运行流程

爬虫学习记录

本地VM虚拟主机centos系统可以再本地主机上面用xshell工具连接吗 这与直接在虚拟主机上面操作有啥不同

如何安装运行PHP网站

分布式豆瓣爬虫: 控制节点- URL 管理器