背景
一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫。
新建网盘爬虫识别项目
在终端命令行中,基于DotNet-Cli
的new
命令新建名为WebBotRecognition
的webapi
项目,并且不需要https
,它将自动创建一个net5.0
的网络接口项目。
dotnet new webapi -o WebBotRecognition --no-https
cd WebBotRecognition
切换到项目目录
code .
用Visual Studio Code来打开当前目录。
于是,我们便完成一个演示项目创建。
执行命令,先运行起来。
dotnet watch run
基于DotNet-Cli
的run
命令把项目中的模板示例先运行起来,确保一切正常,这里携带watch
参数来确保后面热更新。
好了,接下来,我们删掉自带的Controller那些东西。
尝试解析请求来源的User Agent
User Agent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
在.Net Core中我们可以基于UAParser
组件包来实现对User Agent字符串的识别和解析。
安装UAParser
dotnet add package UAParser
基于DotNet-Cli
的add package
命令在当前项目中安装并添加UAParser
组件。