虫服务器抓取。
[0119]图5是本申请以第二服务器为主体的测试网络爬虫的方法的另一实施例的流程图。如图5所示,所述以第二服务器为主体的测试网络爬虫的方法包括:
[0120]S510:第二服务器预先建立至少两套网站模板;
[0121]S520:第二服务器接收网络爬虫服务器的抓取请求;
[0122]S530:第二服务器按预设条件调用所述网站模板中的一套网站模板;
[0123]S540:第二服务器将所述调用的网站模板填充内容后提供给网络爬虫服务器抓取。
[0124]图6是本申请以第二服务器为主体的测试网络爬虫的方法的另一实施例的流程图。如图6所示,所述以第二服务器为主体的测试网络爬虫的方法包括:
[0125]S610:第二服务器预先建立海量网站;
[0126]S620:第二服务器接收网络爬虫服务器的抓取请求;
[0127]S630:第二服务器按预设条件调用所述海量网站中的一套网站,并将所述调用的网站提供给网络爬虫服务器抓取。
[0128]需要指出的是,以上所有实施例中的测试环境可以是广域网,也可以是局域网,本申请对此不作限定。另外,本申请还可以将建立的海量域名分为N部分,通过第一服务器分别指向位于不同IP地址的服务器1、服务器2...服务器N,此处所述的服务器1、服务器2...服务器N的功能均与本申请中第二服务器的功能一致。同时,网络爬虫服务器可以将所述N部分的海量域名分别放入N个待抓取序列,每次可以对N个域名同时进行抓取,这样可以大幅度提升测试效率。上述方法是在本申请提出的技术方案基础上不付出创造性劳动所做的变形,也应属于本申请的保护范围之内。
[0129]本申请还提供一种测试网络爬虫的系统,图7是本申请一种测试网络爬虫的系统第一实施例的功能模块图。如图7所示,所述的一种测试网络爬虫的系统包括第一服务器1,网络爬虫服务器2,第二服务器3,其中:
[0130]第一服务器1,用来配置预设数量的顶级域名,并将所述顶级域名设置为指向第二服务器的IP地址;
[0131]网络爬虫服务器2,用来读取所述顶级域名并根据所述顶级域名扩展出海量域名,将存储的DNS服务器地址设置为所述第一服务器的地址,遍历所述海量域名,并针对每个域名通过第一服务器获取第二服务器的IP地址,根据所述第二服务器的IP地址对第二服务器发起网站抓取请求;
[0132]第二服务器3,用来选取网站,并将所述网站提供给网络爬虫服务器抓取。
[0133]图8是本申请一种测试网络爬虫的系统第一实施例中第一服务器的功能模块图。如图8所示,所述的第一服务器I具体包括:
[0134]顶级域名配置模块1001,用来配置预设数量的顶级域名;
[0135]顶级域名指向模块1002,用来将所述顶级域名设置为指向第二服务器的IP地址;
[0136]图9是本申请一种测试网络爬虫的系统第一实施例中网络爬虫服务器的功能模块图。如图9所示,所述的网络爬虫服务器2具体包括:
[0137]海量域名配置模块2001,用来读取所述顶级域名并根据所述顶级域名扩展出海量域名;
[0138]DNS服务器设置模块2002,用来将存储的DNS服务器地址设置为所述第一服务器的地址;
[0139]IP地址获取模块2003,用来针对每个域名,通过第一服务器获取第二服务器的IP地址;
[0140]抓取请求发起模块2004,用来根据所述第二服务器的IP地址对第二服务器发起网站抓取请求。
[0141]图10是本申请一种测试网络爬虫的系统第二实施例的功能模块图。如图10所示,所述的一种测试网络爬虫的系统包括:网络爬虫服务器4,第二服务器5,其中:
[0142]网络爬虫服务器4,用来建立海量域名,将所述海量域名设置为指向第二服务器的IP地址,遍历所述海量域名,并针对每个域名对第二服务器发起抓取请求;
[0143]第二服务器5,用来选取网站,并将所述网站提供给网络爬虫服务器抓取。
[0144]图11是本申请一种测试网络爬虫的系统第二实施例中网络爬虫服务器的功能模块图。如图11所示,所述的网络爬虫服务器4具体包括:
[0145]海量域名建立模块1011,用来建立海量域名;
[0146]海量域名指向模块1012,用来将所述海量域名设置为指向第二服务器的IP地址;
[0147]抓取请求发起模块1013,用来针对每个所述海量域名,对第二服务器发起抓取请求。
[0148]在上述本申请一种测试网络爬虫的系统的实施例中,第二服务器均可以有三种方式实现。
[0149]方式一:
[0150]图12是本申请一种测试网络爬虫的系统中第二服务器第一实现方式的功能模块图。如图12所示,所述的第二服务器具体包括:
[0151]网站模板建立模块3001,用来预先建立一套网站模板;
[0152]内容填充模块3002,用来对所述网站模板填充内容;
[0153]网站提供模块3003,用来将填充内容后的网站提供给网络爬虫服务器抓取。
[0154]方式二:
[0155]图13是本申请一种测试网络爬虫的系统中第二服务器第二实现方式的功能模块图。如图13所示,所述的第二服务器具体包括:
[0156]网站模板建立模块3011,用来预先建立至少两套网站模板;
[0157]网站模板调用模块3012,用来按照预设条件调用所述网站模板中的一套网站模板;
[0158]内容填充模块3013,用来对所述调用的网站模板填充内容;
[0159]网站提供模块3014,用来将填充内容后的网站提供给网络爬虫服务器抓取。
[0160]方式三:
[0161]图14是本申请一种测试网络爬虫的系统中第二服务器第二实现方式的功能模块图。如图14所示,所述的第二服务器具体包括:
[0162]网站建立模块3021,用来预先建立海量网站;
[0163]网站调用模块3022,用来按照预设条件调用所述海量网站中的一套网站;
[0164]网站提供模块3023,用来将所述调用的网站提供给网络爬虫服务器抓取。
[0165]从上述本申请的实施例可以看出,本申请实施例提供的技术方案模拟出海量的网站提供给网络爬虫进行功能测试,能够在不对真实网站形成打扰的情况下,检测网络爬虫抓取海量网站页面时的工作性能。
[0166]本申请实施例提供的技术方案的另一个技术效果是:不需要对网络爬虫系统内的模块逐一进行检测,对网络爬虫系统无侵入性。
[0167]在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field ProgrammableGate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Descript1n Language, HDL),而HDL也并非仅有一种,而是有许多种,如 ABEL(Advanced Boolean Express1n Language)、AHDL(Altera Hardware Descript1nLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Descript1n Language)、Lava、Lola、MyHDL> PALASM> RHDL(RubyHardware Descript1n Language)等,目前最普遍使用的是 VHDL (Very-High-SpeedIntegrated Circuit Hardware Descript1n Language)与 Verilog2。本令页域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0168]控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Applicat1n Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及 Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
[0169]本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬