解析网站HTML而不是API

时间:2014-08-15 23:49:35

标签: html parsing mobile web-scraping

我正在制作一个应用程序,并且想知道当他们的API没有向我提供我需要的元素时,解析网站的HTML页面(效率方面)是不好的做法应用程序。 (当然,所有应得的信用/来源将在我的应用程序中明显提供,等等)

例如:如果由于某种原因Google Places API没有向我提供会场的营业时间,那么作为一种解决方法,我会前往该地点的Google商家信息页面并解析该商家的HTML时间放置在我的应用中

1 个答案:

答案 0 :(得分:1)

我想希望能让事情更清晰的一些想法。

如果API不提供您需要的数据,首先,一个好主意是联系API开发人员并请求您需要的功能。此外,在采用网络抓取/ html解析方法之前,您必须研究它的法律方面,确保网站不反对网络抓取 - 研究Terms of Use

另外,请考虑html解析代码的可能复杂性。您将依赖于可在任何时候更改的实际HTML标记。您实施的解决方案可能因此而非常脆弱。

此外,如果没有真正的浏览器,有些事情很难实现。例如,可以通过在浏览器中执行的javascript代码或通过一组复杂的AJAX调用来计算某些内容。在这种情况下,您需要使用真正的浏览器,首先是依赖项,其次是可以大幅减缓事情的事情。

此外,有些网站还有反网络抓取解决方案,例如在多次后续请求后禁止IP地址,或者要求在每次请求时发送某个标头等。

您还可以采取另一个防御步骤:联系网站管理员并讨论问题。

跟进:Web scraping etiquette