美文网首页
改善性能与可靠性

改善性能与可靠性

作者: 游侠儿evil | 来源:发表于2017-12-05 09:05 被阅读0次

Improving Performance and Reliability


重要的是要理解,当提取大量数据时,web抓取的复杂性会显著增加。执行某些操作所需的时间可能会花很长时间,整个web抓取过程变得不切实际。Web抓取在本质上是不可靠的,而Web抓取项目运行的时间越长,出现故障的几率就越高,并中断了Web抓取过程。

这个主题列出了您可以采取的几个步骤来提高性能和可靠性。性能调优不是针对新手用户的,如果您没有它的经验,您可能无法在这个主题中实现建议。

改变内部数据库 Changing the Internal Database

在运行项目时将所有提取的数据保存到内部数据库中。默认的内部数据库是一个SQLite文件数据库,而文件数据库的性能不如实际数据库,比如SQL Server或MySQL。根据您的系统和数据提取项目,通过切换到真正的数据库服务器,您可以在某些操作上提高到10倍的性能。

如果您还没有现有的数据库服务器,我们建议您将内部数据库更改为SQL Server Express。SQL Server Express是一个来自微软的免费数据库服务器,可以在一个数据库中包含10GB的数据。您可以从这个URL下载SQL Server express:

http://www.microsoft.com/sqlserver/en/us/editions/express.aspx

您需要阅读SQL Server Express文档,了解如何安装和操作数据库服务器。

一旦您安装了SQL Server Express并添加了一个数据库,您就可以从项目选项屏幕上的Project Data options选项卡中更改内部数据库。

[图片上传失败...(image-36714c-1512430751384)]

将图像写入磁盘而不是数据库 Writing Images to Disk instead of Database

默认情况下,在内部数据库中保存所有图像和文档。这很方便,因为所有提取的数据都保存在一个数据库文件中,但是通过将所有图像和文档写入磁盘,只保存数据库中的文件路径,就可以获得更好的性能。

您可以配置一个项目,将图像和文档从项目选项屏幕上的project Data options选项卡中保存到磁盘。

image.png

使用WebCrawler代理

默认情况下,使用web浏览器代理提取数据。web浏览器代理使用Internet Explorer的一个实例访问一个网站,因此如果目标站点在Internet Explorer中工作,您通常可以使用web浏览器代理从网站中提取数据。

如果您使用Internet Explorer浏览web,您可能会遇到一些问题,比如挂起网站或程序崩溃。这可能很少发生在每年一次,所以在正常使用Internet Explorer时可能不会出现问题。当Visual Web Ripper使用Internet Explorer浏览一个网站时,它可能比你在一年内访问更多的网页,因此稳定性问题被大大放大了。

网站不稳定的主要来源是JavaScript。网站开发人员可以使用JavaScript实现网站上的动态特性,但JavaScript错误可能导致内存泄漏、挂起网站甚至程序崩溃。

web爬虫代理忽略了所有的JavaScript,因此它通常比web浏览器代理更可靠。一个web浏览器代理只能一次加载一个web页面,但是一个web爬虫代理可以同时加载多个web页面,因此一个web爬虫代理也比一个web浏览器代理快得多。web爬虫代理可以比web浏览器代理快100倍。

有时,web浏览器代理需要处理站点的某些部分,而web爬虫代理可以处理站点的其他部分。一个单一的项目可以被配置为同时使用WebBrowser和WebCrawler 代理。

使用多个浏览器

web浏览器代理使用一个单一的web浏览器从一个网站中提取数据。如果代理需要遵循一个链接列表,它会单击第一个链接,然后导航回到链接列表,以便导航到列表中的第二个链接。如果代理程序在一个新的web浏览器中打开每个链接,它就不需要在每次处理链接时重新导航到链接列表。

您可以通过设置模板选项启动新的web浏览器来配置链接和FormSubmit模板来在Start new web browser中打开一个页面。


image.png

重要: 不是所有的链接和表单提交都可以定向到一个新的web浏览器。使用AJAX的链接和表单通常不能在新的web浏览器中打开。

修改Web浏览器的行为

web浏览器代理使用的web浏览器可以修改,以提高某些场景的性能。例如,您可以配置web浏览器来停止加载图像和帧。

image.png

重要:一些JavaScript依赖于图像和帧,如果web浏览器执行JavaScript,可能会开始泄漏内存,但不会加载图像和帧。




























相关文章

  • 改善性能与可靠性

    Improving Performance and Reliability 重要的是要理解,当提取大量数据时,we...

  • 2017.12.26 射频模块的可靠性测试和各种认证

    1 可靠性测试 电子可靠性:功能可靠性。性能可靠性。 软件可靠性:异常操作,BUG。 机械可靠性:跌落...

  • K802-可靠性-可靠性基础知识02

    工作可靠性 分为:固有可靠性、使用可靠性 固有可靠性 产品在设计、制造中赋予的,是产品的一种固有特性 使用可靠性 ...

  • K818-可靠性-维修性

    11.维修性 11.1 广义可靠性(重复) 广义可靠性包括: 【1】可靠性 【2】维修性 【3】维修保障性 11....

  • K807-可靠性-零部件选型

    6.零部件选型【P24:弱】 6.1 方法 零部件的可靠性包括 固有可靠性 使(应)用可靠性 【1】固有可靠性 主...

  • K805-可靠性-可靠性设计

    4.可靠性设计 4.1 概念 可靠性设计 【1】是可靠性工程的重要组成部分 【2】是实现产品固有可靠性要求的最关键...

  • 总论6-----会计信息质量要求

    三可一关:可靠性、相关性、可理解性、可比性实质重于形式、重要性、谨慎性、及时性 1.可靠性:真实、完整可靠性要求企...

  • 日常记录(06.29)

    [高项]: 1.“测量可靠性,分析现场可靠性是否达到要求”是运作过程和维护过程的可靠性和可维护性管理要求。2.面向...

  • 学习|可靠性鉴定和验收试验

    GJB450《装备可靠性通用要求》将可靠性试验分为两大类:工程试验和统计试验,工程试验(环境应力筛选、可靠性增长)...

  • test

    功能性 可靠性 娱乐性

网友评论

      本文标题:改善性能与可靠性

      本文链接:https://www.haomeiwen.com/subject/ybhqixtx.html