2010-07-31 59 views
1

是否有可能使用c#抓取用户认证的网站?WebCrawling用户认证的网站

+1

为什么你想使用套接字?你必须做的每件事情都是为了你的HTTP请求使用套接字。那么使用套接字的目的是什么? – 2010-07-31 08:23:07

+0

我已经有一个使用c#套接字的webcrawler。我尝试了.NET的HTTP和WebClient,但他们似乎使用更多的CPU和内存,我不能使用多线程。 – Jojo 2010-07-31 08:28:20

+0

使用'WebClient'的正确编写的爬虫实现不会使用更多的内存和CPU(或者至少没有明显的区别),当然你可以使用'WebClient'实现多线程,只需要为每个线程使用多个实例。 'WebClient'也有异步方法。 – 2010-07-31 08:31:32

回答

1

是的,有可能假设您有凭据。根据网站使用的认证机制,存在不同的方法。 WebClient可用于向远程站点发送HTTP请求。

+0

谢谢,但它可能通过使用套接字? – Jojo 2010-07-31 08:16:03

+1

是的,但如果网站使用HTTP协议,那将是疯狂的。 – 2010-07-31 08:19:45

0

要抓取用户认证的网站,您的抓取工具应该能够处理cookie和POST请求。

现在的问题是:你想让你的抓取工具注册,通过电子邮件验证自己,然后登录抓取所有内容?

+0

我已经拥有凭据,我认为它使用表单身份验证。我可以使用c#套接字来执行此操作吗?我应该使用哪些命令?谢谢... :) – Jojo 2010-07-31 08:17:32

+0

我想你可以使用** WebClient **或** HttpWebRequest **,正如@Darin Dimitrov所示。 – 2010-07-31 08:24:03

+3

是的,套接字是一个坏主意,很多工作没有理由(除非你有一个当然?)。如果你也在问'我应该使用什么命令',那么这听起来像你没有阅读过HTTP协议;在这种情况下使用.NET Web类是一个更好的主意 – 2010-07-31 08:26:29