【问题标题】:c# web-based crawlerc# 基于网络的爬虫
【发布时间】:2011-07-25 14:06:41
【问题描述】:

我有几个关于爬虫的问题。

  1. 我可以创建一个纯粹在网络上工作的爬虫吗?我的意思是,可以从网络项目的管理页面启动或停止的爬虫。

  2. 编写爬虫最方便的语言是什么?本来打算用c#写的。

  3. 最重要的一个:爬虫是如何工作的?我的意思是,我知道你是通过使用HttpWebRequestHttpWebResponse来创建它们的,我猜每次页面访问后,爬虫都会回来,代码会评估结果,然后创建一个队列来发送爬虫到其他网站。所以基本上如果这个信息是真的,考虑到我将使用一个网络项目来创建爬虫,我应该保持页面一直在运行吗?爬虫对服务器的负担有多大?它会减慢服务器速度还是对它来说是一项相对较小的工作?

我知道,这里有很多问题,我将非常感谢您的回答:)

【问题讨论】:

  • 你们为什么要扣分?
  • 别傻了,但如果您不知道从哪里开始(尤其是选择语言!),您可能需要重新考虑承担如此庞大且非常复杂的项目...跨度>
  • 我是为自己做的。我只为爱好编码。
  • 编写一个可行的爬虫是一项艰巨的任务。我认为它就像“获取页面,获取链接并重复”一样简单。我错了。是的,少看,继续,你可以创建一个网页中的爬虫。首先,查看爬虫使用文件系统或 sql/no-sql 实现的位置。

标签: c# web-crawler bots googlebot


【解决方案1】:

1) 爬虫绝对可以在网络上运行。您的爬虫可以是 ASP.NET 应用程序,或者您的管理页面可以启动或停止服务器上的任务(网络爬虫)。

2) VB.NET 或 C# 有效。他们都有大量的库来处理网络。

3) 我想你正在寻找的是一个递归函数。首先,在互联网上选择一个页面(包含很多链接)。对于页面中的每个链接,再次运行爬虫的 main 方法。一遍又一遍地这样做。您可能希望限制爬行的“深度”。我想你也想在每个页面上做一些工作。

【讨论】:

  • 我不会在同一页面上做任何其他工作,但是会有用户浏览网站,我不希望网站运行缓慢:)
  • 您可以考虑查看服务器的域名。如果您拨打 x 次电话,请将它们添加到队列中并保存以备后用。
  • 递归不正确。网络包含的数据比您的计算机所能容纳的要多得多。队列是您想要实现的。 :)
猜你喜欢
  • 2010-11-29
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
相关资源
最近更新 更多