screen-scraper教程.doc_第1页
screen-scraper教程.doc_第2页
screen-scraper教程.doc_第3页
screen-scraper教程.doc_第4页
screen-scraper教程.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

从外部程序刮电子商务网站Overview概述本教程演示的方式调用屏幕从教程3比其他方案提出的那些复杂的刮板。从我们的外部程序我们将传递到屏幕刮刀的搜索参数,调用刮的过程中,越来越屏幕刮刀刮数据,然后遍历数据,并输出的应用,在我们的。在继续之前,将是一个很好的思想要经过教程2,如果你还没有这么做。如果你还没有经历过2个教程,或者不刮会议仍然有它创建您,您可以下载并导入到屏幕上,刮刀。Tutorial Requirements本教程要求您使用的屏幕,刮板专业或企业版。它要求您有访问服务器(远程或本地),可以运行外部脚本语言之一,屏幕,刮板有驱动程序:ASP中,C的NET的的ColdFusion,Java的,PHP,Python或VB.NET。 。Finished Project如果您想看到你刮会议将在本教程中,您可以下载它下面创建的最终版本。Scrape UpdatesScrape Process屏幕刮刀可以调用从最现代的编程语言,包括Java,Active Server Pages中,PHP中,编写的软件应用程序。NET和任何支持SOAP。在本教程中我们将给出一些应用的例子做到这一点。我们的应用程序将参数传递到屏幕刮刀相应的登录信息,以及一个关键的短语来搜索。正如第三次教程中,我们要假装我们的网站需要登录才可以搜索提供一个例子缘故。一旦我们传递的参数屏幕刮刀,我们将告诉它开始刮。屏幕刮板将然后运行刮会话使用的参数,我们给了它。一旦做了,我们会要求为提取信息,然后将其输出为用户看到的。Updates在我们开始之前我们首先需要从第三个教程微小的改动夫妇购物网站刮会议。如果你还没有,启动屏幕刮刀。Login Parameters在购物网站刮会议上登录scrapeable点击文件,然后在参数选项卡。我们要改变EMAIL_ADDRESS的POST参数和密码,以便我们能够传递的,而不是硬编码它们的参数。对于EMAIL_ADDRESS的参数值更改为EMAIL_ADDRESS的,并更改密码参数测试值到密码。记念令牌包围了定界符表明,价值会话变量应该被插入。例如,在我们的例子中,我们要创建一个EMAIL_ADDRESS的会话变量,并给它的价值使得屏幕刮刀替代相应职位是在运行参数进行研究。Products Extractor Pattern为了简化程序的细节给予外部脚本访问提取的产品,我们将保存会话变量中的数据设置到。点击详细信息页scrapeable文件。提取的产品格局,选择高级选项卡,勾选自动保存该数据集在会话变量中提取的模式产生。Initialization Script我们的代码将在我们的外部应用写作基本上采取的购物网站的地方 - 初始化会话脚本。让我们联想起禁用它覆盖的价值观,否则我们将通过在外部- 。为了做到这一点点击购物的购物网站上刮会议的对象树和联合国复选框供检查启用的站点初始化会话脚本。准备屏幕应用刮刀为保存更改并退出屏幕刮刀。此外,使外部脚本将能够与屏幕刮刀,启动屏幕刮板作为一个服务器上运行。External ScriptThe Choice你到哪里,未来取决于你的编程语言感兴趣下面的链接选择相对应的语言,你的服务器将使用:。使用ASP第2页第2页:使用C:。NET页2使用冷聚变第2页:使用Java第2页:使用PHP第2页:使用Python第2页:使用Ruby第2页:使用VB.NETUsing Java警告:为了调用屏幕从爪哇刮刀,屏幕刮刀必须在服务器模式下运行。如果你想要通过复习如何启动屏幕服务器刮刀在模式继续进行,并按照链接,然后返回这里。运行脚本之前,我们挖成代码让屏幕刮板检讨有关的几件事情调用爪哇。首先,你的Java代码需要有两个罐子在其类路径:屏幕scraper.jar(在根丝网刮刀安装文件夹中找到),并把log4j.jar(在屏幕刮板的lib文件夹中找到)。为了方便起见,我们已经打包的文件,您需要的。下载文件并解压缩它。你会发现,我们还包括一个Ant build文件,你可以用它来编译和运行示例类。如果你使用Ant只需键入ant命令提示运行内发现是build.xml文件所在的文件夹。解决问题(如有发生)如果不是这样,你预期的那么这里有一些事情要检查:确保屏幕刮板作为服务器运行,且无任何阻碍其端口为防火墙(例如运行你的机器上)。如果你正在运行的Java机屏幕在不同的刮板机比一个驻留在您的Java类,确保屏幕从刮刀是允许的连接。在屏幕上点击刮板工作台(扳手)图标,然后在服务器按钮,并检查主机允许连接包括IP地址渣机(可能只是在IP地址的第一部分)。您也可以尝试完全空白的财产中,这将允许从任何主机连接。在开发,这通常是最简单的方法。检查屏幕刮刀的日志文件的日志文件夹的一个购物网站。如果你找到一个这意味着屏幕刮板至少收到请求。打开文本编辑器中的日志文件,看看如果你发现任何错误信息。如果您似乎仍不能得到它的工作随意张贴到我们的论坛。了解脚本假设测试工作,你最喜欢的火起来Java编辑器并打开其中的Shopping.java文件。该文件是非常详细的注释,所以希望什么是有意义的事情。如果没有,尝试检讨我们的Java文件,或张贴到我们的论坛。查看日志当你调用它的日志文件夹屏幕刮板作为一个服务器上创建日志文件对应到您的刮会议。需要在为您的购物网站日志文件文件夹中查找,并通过它看看。它应该类似于你所看到的,当您在工作台中运行刮会议。Where to Go From Here建议首先,恭喜你!您透过另一个教程,并在自己的能力发展到从网站提取信息。概述的方法在这个相对较小的数据集的伟大工程的教程。当我们撷取的购物网站的记录,我们很可能不会超过25提取左右。当屏幕刮刀提取它在内存中保存的数据(请记住我们检查了自动保存的数据集在一本为产品提取模式,这是什么原因导致这种情况发生会话变量复选框提取格局产生),因此它很好,因为有没有那么多的产品。更多训练/教程哪里下一个?那么,会发生什么,如果我们需要提取和保存大量记录?答案很简单,你需要将它们保存提取出来,因为它们可以比拥有屏幕刮板他们,而保留在内存。通常,这意味着要么插入到数据库中的记录或书面刮出来到一个文本文件中的数据文件,但出一个教程将引导您通过5刮数据保存到数据库中。教程2已经说明了如何写(如果你有兴趣在这你可能还会发现这个FAQ有用)。只要记住,如果你写出来的数据到一个文件,你会想要取消勾选标记的自动保存为变量的数据设置会话这一模式产生的提取提取模式,拉出来的数据要保存。如果是检查它会导致屏幕刮板存储运行中的所有数据存储器,这可能导致它的运行了内存,而它的。教程6将使用屏幕刮刀创建一个XML饲料的电子商务网站的同时教程7将通过使用一个文件的搜索条件的搜索刮跑多次,并将其写入文件。还是有点失落?如果你不舒服的感觉过程中,我们邀请您重新使用的刮教程仅供参考。这是可以做到只使用屏幕上拍摄,而你的工作。如果你还在苦苦挣扎,你可以搜索自己喜欢我们的论坛和其他具体问题,要求在屏幕上,刮刀社区。Saving Scraped Data to a Database概述我们将继续与我们的电子商务网站在这个教程刮插入到数据库中的数据我们。一般来说,一旦你从网站中提取你想要保存它不是一个文件或数据库中的数据。我们已经走过去将数据保存到一个文件中2教程,所以这里我们将介绍数据库中的信息插入到一个。如果你还没有经历过教程2,或不刮会议的还有,你在它创建,你可以下载并导入到刮刀它的屏幕。教程需求因为我们不会被插入到数据库中的数据,而是将其发送到一个外部脚本,你需要的是一个Web服务器上运行PHP脚本。如果您没有访问PHP服务器不用担心,你可以运行该脚本使用PHP脚本,我们的服务器一坐,看看它是如何将工作。换句话说,你并不需要任何东西,除了刮几分钟,屏幕。完成的项目,如果你想看看它下面的最终版本下载刮会议将创建在本教程中你可以。Tutorial Details它是如何工作有一个插入编号,以多种方式刮数据库中的数据分为A,本FAQ中的概述,我们将使用最后一个:邮政提取数据到本地网络的启用脚本接受数据并将其插入到一个数据库。铲运机企业版的屏幕有能力处理数据的实时刮研究。截至目前,已落实在屏幕刮刀Java和PHP驱动程序。如果你正在运行的企业版,并希望与屏幕刮刀使用这些语言之一,在读刮数据处理实时调用屏幕无论我们从Java或调用屏幕刮刀刮刀从PHP网页节关于这个细节。本教程不包括这种方法,但是这是相当容易一点,更清洁的实现比在这里将描述方法。在本教程的基本理念是,我们将有一个特殊的scrapeable文件,将POST数据到一PHP文件,它将处理插入到数据库中的数据。事件流看起来像这样:1.Extract网站的数据,节能产品称号,价格等),会话变量每个值(以。2.Invoke产品scrapeable一个保存文件,这将张贴提取数据一个PHP文件。三,PHP文件,接受和验证数据。如果数据是不完整的,将返回一个错误信息,然后试图插入到数据库本身的数据。如果一切顺利,它将返回一个成功的消息。4.In屏幕刮板我们使用提取模式来检查成功/失败状态错误信息的。Scrape Updates我们将修改现行刮会议有点准备把它刮掉数据保存到数据库。首先,树点击详细信息页面scrapeable文件的对象中,然后在提取图案选项卡,然后单击子提取模式模式为我们的产品标签提取。我们要更新我们的每提取模式,使他们令牌保存在会话变量的提取的值。不要通过双击他们每个人(例如,关于职称)或者右键单击(控制在Mac OS X的点击),然后选择编辑此令牌。在编辑窗口点击令牌在会话变量中保存复选框,然后关闭窗口。不要对每个提取标记(标题,价格等)。我们保存在会话变量的值,这样我们可以用它们作为文件POST参数,将在scrapeable职位,我们的PHP文件。新Scrapeable文件让我们创建scrapeable文件现在。点击购物网站在对象树,然后添加Scrapeable文件按钮在常规选项卡中,scrapeable文件。一旦scrapeable文件显示其命名为储存产品。在URL栏输入:/support/tutorials/tutorial5/db/save_product.php这是一个例子文件的完成。我们将详细讨论文件中更详细说明。检查中把这种scrapeable文件将被调用的参数手动从脚本,以便它会在不运行的顺序。现在添加所需的。点击新scrapeable文件参数选项卡,并给它五POST参数KeyValuetitle#TITLE#price#PRICE#manufactured_by#MANUFACTURED_BY#model#MODEL#shipping_weight#SHIPPING_WEIGHT#请记住,定界符表明相应的会话变量值应该被替换,例如英寸,在我们的例子,标题会话变量(例如,“虫虫危机”)的值将被替换为在标题标记。这个值将被认为需要提交到PHP文件,以便它可以被插入到数据库之一。New Script最后,我们需要创建一个简单的脚本,将调用我们的新scrapeable文件。点击(添加新的脚本)按钮。给脚本的名称储存产品,并给它的脚本内容:session.scrapeFile( Save product );该脚本只是告诉丝网刮刀调用储存产品scrapeable文件。New Script Association我们需要调用储存产品每个产品scrapeable文件,使他们都得到保存到数据库中。因此,我们将调用脚本后的详细信息页上的要求。做在详细信息页面的对象树scrapeable点击这个文件,在属性选项卡,然后在添加脚本按钮。在脚本名称栏中选择储存产品。在当列运行后选择文件刮。Test Run好吧,我们完成设置屏幕,刮刀,所以我们已经准备好给我们刮会议上运行。在我们调用它,让我们做一个小小的调整,使会议不采取这么长时间运行- 。在购物网站会话脚本,更改该值。会话变量的搜索从DVD到我们这样的错误初始化会得到两个“虫虫特工队”DVD的DVD,而不是系统中的每个。一旦你这样做的网站,点击在购物刮刮会议上的运行按钮会议的对象树,然后。Check the Results一旦刮会话已运行它的产品在保存过程中点击scrapeable文件,然后在最后响应选项卡。您应该会看到类似这样的响应:SuccessA Bugs Life Multi Pak35.99WarnerDVD-ABUG7.00 lbs.这表明,过去的产品已成功插入。The PHP File该Scrapeable文件,希望这是显而易见的,但我们可以很容易地使用Web脚本,写在ASP,冷聚变或其他任何可以通过HTTP访问。在本教程中,我们使用PHP作为一个例子简单,因为它是最常用的语言之一。不要担心,如果你不是,熟悉PHP的,虽然,大部分通过什么我就要简单的伪代码。这种方法的最好的部分是,你可以与你的数据库使用您喜欢的Web脚本语言。脚本如何工务局了解脚本中,我们需要知道什么样子的网页一般。打开你的文件在Web浏览器:/support/tutorials/tutorial5/db/save_product.php。你会得到一个形式类似下图。你会发现,当PHP脚本直接访问(即不通过POST请求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论