通过python从HTML中提取特定信息

Posted

技术标签:

【中文标题】通过python从HTML中提取特定信息【英文标题】:extract specific information from HTML by python 【发布时间】:2013-11-22 02:04:29 【问题描述】:

我正在尝试从亚马逊提取价格和供应商等信息。

我现在这样做的方法是找到价格等关键词,然后找到我想要的信息。

问题是,如果亚马逊等网站稍微改变框架,代码可能就不再起作用了。

我想知道是否有更好的方法/算法来做类似的事情。

谢谢!

【问题讨论】:

【参考方案1】:

您想从网站访问数据。您建议的是手工制作的 API 或应用程序编程接口。

手工制作的 API 的主要缺陷之一正是您提到的,或者网页的供应商可能会进行一些小改动,导致您的 API 无法使用。

一般来说,最好使用可以直接访问网站所有者数据的 API。这些 API 是由网站所有者自己创建的,因此他们可以直接访问数据,并且可以绕过在您使用 html 抓取时出现在您和您想要的数据之间的所有混乱格式。


具体来说,亚马逊的价格 API 位于here。

重要提示:

如here 所述,请阅读许可协议第 4b 条:

(b) 您将仅 (i) 以合法方式使用产品广告内容; (ii) 根据本许可协议的条款并在第 6 条授予的许可的明确范围内; (iii) 将最终用户发送到亚马逊网站并推动其销售。 您不得将产品广告 API、数据馈送或产品广告内容用于任何网站或应用程序,或以任何其他方式,其主要目的不是为亚马逊网站做广告和营销以及推动在亚马逊网站上销售产品和服务。

【讨论】:

以上是关于通过python从HTML中提取特定信息的主要内容,如果未能解决你的问题,请参考以下文章

Python帮助-如何从一维数组中提取特定范围的值? [重复]

python常用模块email----从原始邮件中提取邮件头信息

如何从 python 中的字段中提取特定数据以打印它?

当我使用python从CSV文件中提取特定关键字的数据时,为什么会出现KeyError?

从 html / json 页面中提取特定部分的最佳方法?

Python网络爬虫与信息提取—— BeautifulSoup