使用 Perl 阅读 Web 2.0 HTML 源代码
是否可以阅读动态生成的 HTML Web 2.0 源代码? Perl LWP 及其代理->响应不会获取任何动态生成的 HTML 代码。
如今许多网站都生成动态 html。如果我以最优惠的价格购物,并且价格是动态获取和转储的,那么我就破产了。
我们是否已经到了一个时代的终结?
Is it possible to read HTML Web 2.0 Source Code that is dynamically generated ?
The Perl LWP with its agent->response does not pick up any dynamically generated HTML code.
Many websites today are generating dynamic html. If I am shoppping for best prices, and the prices are dynamically fetched and dumped, then I am out of business.
Are we reaching the end of a era?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,我们正在走向不可靠的屏幕抓取时代的结束和定义明确的 API 时代的开始。
就我个人而言,我讨厌“Web 2.0”这个术语,但至少 Wikipedia 将 Web API 列为整个事情的重要组成部分。
Yes, we are reaching the end of the era of unreliable screen scraping and the beginning of the era of well-defined APIs.
Personally I hate the term "Web 2.0", but at least Wikipedia lists web APIs as an important part of the whole thing.
如果“Web 2.0 HTML”和“动态生成”是指“从 JavaScript 生成的 DOM”,那么您必须处理 JavaScript。
您可以手动执行此操作并编写代码以从 JS 中抓取数据或使用 JS 所做的任何数据源,或者您可以使用 JS 感知解析器(我通常使用 MozRepl 这些天)。
请记住,许多网站的条款和条件禁止屏幕抓取。
最好的解决方案是使用稳定且不易更改的 API。您希望从中获取数据的站点的文档可能描述了 API,或者您可以联系开发人员,看看他们是否可以为您提供一个 API。
If by "Web 2.0 HTML" and "dynamically generated" you mean "DOM generated from JavaScript" then you have to process the JavaScript.
You can either do that manually and write code to scrape data out of the JS or use whatever data sources the JS does, or you can use a JS aware parser (I usually use MozRepl these days).
Keep in mind that the terms and conditions of many sites forbid screen scraping.
The best solution is to use an API which is stable and not subject to change. The documentation for the site you wish to get data from may describe an API, or you can contact the developers and see if they can make one available to you.