javascript - 除了使用API​​之外,是否还有其他方法可以从外部网页获取数据来开发比较购物网站?

标签 javascript php jquery database

如果我的问题不合适,我真的很抱歉,但除了使用 API 之外,我找不到任何其他简单的方法从外部网站收集数据。我觉得我错过了一些东西,但我不确定是什么,我确实在寻找可以检索数据的可能方法,但我无法理解。我目前正在使用 php 和 javascript,我正在寻找更简单的方法从外部站点获取数据到我的站点。如果您能向我解释如何从外部来源检索数据,我将不胜感激。

最佳答案

在我看来这是一个很大的领域。我一直在做许多涉及“抓取”的爱好项目。有很多技巧,每次处理一个新网站时,您都必须发挥您的创造力。

我不认为存在适用于所有人的单一指南。

网站使用 AJAX 异步加载内容或网站在开头以 HTML 提供内容有两种主要方式。

如果是第二种情况,很容易获取 HTML 并使用 curl正则表达式 进行解析

如果是第一种情况,您可以选择,但我认为您可以检查 chrome 中的网络调用以查看实际数据的下载位置。例如,它可能是非常幸运的 JSON 格式,或者您必须进行逆向工程的自定义格式。

我能理解为什么很难习惯这种“编程”,因为您无法控制实际标记并且必须依赖很多东西。您应该以最大化脚本容错能力的方式选择您的假设。

抱歉,如果您正在寻找有关如何从静态内容中抓取数据的真正基础教程,但这是对您可能遇到的情况的一般说明。

我建议您找一个不通过 AJAX 加载内容并且具有相对良好的 HTML 标记的网站。然后使用 curl 和正则表达式来抓取它,然后从那里爬上去,在路上收集技巧。

注意:您可以选择某种 DOM 分析器或任何它们被调用的类型并使用它来代替正则表达式,但我认为它们对于初学者来说不是额外必要的。

关于javascript - 除了使用API​​之外,是否还有其他方法可以从外部网页获取数据来开发比较购物网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16267881/

相关文章:

jQuery slideToggle - 不推送内容、隐藏内容和填充父 div

jquery - css nth-child(2n+1) 过滤掉列表项后重绘css

php - 如何构建 jQuery 删除

javascript - javascript中查找数组中连续重复项、总结并重申的最简洁方法是什么?

javascript - 如何创建两个相同的div。彼此相邻且处于同一水平

php - mysql 将 varchar 转换为日期

php - 将时间戳从数据库转换为日期/小时/分钟到数据表 php mysql

javascript - XPages 菜单中的动态渲染公式

javascript - CryptoJS 解码 PHP

php - 连接到 Google 应用引擎上的远程 MySQL 数据库