C# 屏蔽您的网络抓取活动,使其看起来像正常的浏览器冲浪活动?

C# 屏蔽您的网络抓取活动,使其看起来像正常的浏览器冲浪活动?,c#,web-scraping,html-agility-pack,C#,Web Scraping,Html Agility Pack,我使用的是Html敏捷包,我不断地遇到这个错误。“远程服务器返回错误:(500)内部服务器错误。”在某些页面上 现在我不确定这是什么,因为我可以使用Firefox毫无问题地访问这些页面 我有一种感觉,网站本身被屏蔽了,没有发送响应。有没有办法让我的HTML agility pack调用更像是从FireFox调用的调用 我已经在那里设置了一个计时器,所以它只会每隔20秒发送到网站 我还可以使用其他方法吗?设置一个类似于常规浏览器的方法。用户代理是http客户端(浏览器)传递给服务器的http头,用

我使用的是Html敏捷包,我不断地遇到这个错误。“远程服务器返回错误:(500)内部服务器错误。”在某些页面上

现在我不确定这是什么,因为我可以使用Firefox毫无问题地访问这些页面

我有一种感觉,网站本身被屏蔽了,没有发送响应。有没有办法让我的HTML agility pack调用更像是从FireFox调用的调用

我已经在那里设置了一个计时器,所以它只会每隔20秒发送到网站


我还可以使用其他方法吗?

设置一个类似于常规浏览器的方法。用户代理是http客户端(浏览器)传递给服务器的http头,用于标识自身

服务器可以通过多种方式检测刮取,这实际上只是刮取器和刮取器之间的一场军备竞赛(?),这取决于一方或另一方希望访问/保护数据的程度。帮助您不被发现的一些事情包括:

  • 确保发送的所有http头与普通浏览器相同,尤其是用户代理和url引用
  • 像普通浏览器一样,按照浏览器的顺序下载所有图像和css脚本
  • 确保设置的所有cookie都随后续请求一起发送
  • 确保根据sites robots.txt限制请求
  • 请确保您没有遵循任何“禁止跟踪”链接,因为服务器可能正在设置一个蜜罐,在该蜜罐中,服务器将停止为您的ip请求提供服务
  • 让一堆代理服务器改变你的ip地址
  • 确保网站没有因为他们认为你是机器人而开始向你发送验证码

  • 同样,这个列表可能会根据服务器设置的复杂程度而有所不同

    虽然我怀疑这是个问题,但你可以改变时间。我怀疑是否有人每20秒就在网站上做一件事。是的,当我准备真正做的时候,我会有很高的超时时间(比如1-2分钟),但我只是在测试。这只发生在某些URL上,但当我使用浏览器访问URL时,我可以访问该站点。谢谢,伙计,这就成功了。我认为这只发生在某些“类型”的页面上,这意味着页面站点本身可能需要知道呈现时访问它的浏览器类型。您需要添加:1)用户代理和2)确保始终添加Referrer HTTP头(尽管您在1中介绍了它)。回答得好。