如果您想从复杂,动态的网站中挖掘数据,则爬网可能会带来挑战。如果您不熟悉网络抓取,那么我们建议您从一个简单的网站开始:这个网站大部分是静态的,几乎没有AJAX或JavaScript。
熟悉目标网站的导航路径后,您需要确定一个良好的起始URL。有时,这只是网站的起始URL,但最好的URL通常是子页面(例如产品列表)的URL。拥有此URL后,您需要将其复制,然后将其粘贴到Content Grabber的地址栏中。
|
如果您没有适当的工具,则网络爬网也会带来挑战。很大程度上,您完全可以控制目标网站,并且该网站可以随时更改,恕不另行通知。或者,它可能包含错误的JavaScript,这会导致它崩溃并表现出令人惊讶的行为。托管网站的服务器可能会崩溃,或者网站可能会受到维护。在漫长的Web爬网会话中可能会发生许多潜在的问题,而您对这些问题的影响都很小。Content Grabber提供了一系列高级错误处理和稳定性功能,可以帮助您管理Web爬网代理可能遇到的许多问题。
除了不可靠的网站之外,另一个挑战是,某些网络抓取任务特别难以完成-包括以下内容:
•从复杂的网站中提取数据
•从使用威慑手段的网站中提取数据
•提取大量数据
•从非HTML内容中提取数据。
从复杂的网站中提取数据
如果您正在为大量不同的网站开发Web爬网代理,则可能会发现大约50%的网站非常容易,其中30%的难度适中,而20%的挑战性很大。对于一小部分,实际上将不可能提取有意义的数据。网络抓取专家可能需要两周或更长时间来开发此类网站的代理,因此开发该代理的成本可能会超过您可能提取的数据的价值。
使用威慑手段从网站中提取数据
对于具有积极威慑力的任何网站,网络抓取总是具有挑战性。如果必须登录才能访问要提取的内容,则该网站始终可以取消您的帐户,从而使创建新帐户变得不切实际。
某些网站使用浏览器指纹识别并阻止您访问该网站。指纹使用JavaScript通过检查您的浏览器和计算机规格来做出肯定的标识,从而使其无法规避。
警惕抓取工具或抓取工具的网站的另一种方法是使用CAPTCHA。Content Grabber包含可用来克服CAPTCHA保护的工具,但您将招致第三者进行自动CAPTCHA处理的额外费用。有关更多信息,请参见CAPTCHA阻止。
最常见的保护技术是使用您的IP地址来识别和阻止您访问网站。通常,您可以使用代理轮换服务来规避此技术,该代理服务会隐藏您的实际IP地址,并在您每次从网站请求网页时使用新的IP地址。有关更多信息,请参见IP阻止和代理服务器。
注意:在道德和法律上,我们建议您避免使用积极采取措施阻止访问的网站,即使您能够绕过保护措施。
提取大量数据
网页抓取工具实际上必须访问网页才能从中提取数据。下载网页需要花费时间,并且可能需要数周甚至数月的时间才能从数百万个网页中加载和提取数据。例如,由于网页太多,从Amazon.com提取所有产品数据几乎是不可能的。
从非HTML内容中提取数据
某些网站完全以Flash构建,Flash是在网络浏览器中运行的小型软件应用程序。Content Grabber只能使用HTML内容,因此只能提取Flash文件。但是,它无法与Flash应用程序进行交互或从Flash应用程序内提取数据。
许多网站以PDF文件和其他文件格式的形式提供数据。尽管无法直接从此类文件中提取数据,但是Content Grabber可以轻松下载这些文件,并使用第三方转换器将文件转换为HTML文档,以从转换输出中提取数据。文档转换实时非常迅速,因此好像您正在执行直接提取一样。重要的是要意识到PDF文档和大多数文件格式不包含易于转换为结构化HTML的内容。为此,您可以使用Content Grabber 的正则表达式功能来解析转换输出。