是否可以阅读动态生成的 HTML Web 2.0 源代码?Perl LWP 及其 agent->response 不会拾取任何动态生成的 HTML 代码。
今天的许多网站都在生成动态 html。如果我以最优惠的价格购物,并且价格是动态获取和倾销的,那么我就倒闭了。
我们正在走向一个时代的终结吗?
是的,我们正在走向不可靠的屏幕抓取时代的终结和定义良好的 API 时代的开始。
我个人讨厌“Web 2.0”这个词,但至少Wikipedia将 Web API 列为整个事物的重要组成部分。
如果“Web 2.0 HTML”和“动态生成”是指“从 JavaScript 生成的 DOM”,那么您必须处理 JavaScript。
您可以手动执行此操作并编写代码以从 JS 中抓取数据或使用 JS 使用的任何数据源,或者您可以使用 JS 感知解析器(这些天我通常使用MozRepl)。
请记住,许多网站的条款和条件禁止屏幕抓取。
最好的解决方案是使用稳定且不会更改的 API。您希望从中获取数据的站点的文档可能会描述 API,或者您可以联系开发人员,看看他们是否可以为您提供 API。