例如,我想提取仅包含维基百科特色文章摘要的屏幕截图或页面(http://en.wikipedia.org/wiki/Main_Page)。
它不应该占据整个页面。
答案1
你能更具体一点吗?问题是“页面的一部分”的定义完全是任意的,并且会因网站而异。因此,任何声称可以做到这一点的解决方案都将仅限于所有网站的某个有限子集。
您是否希望根本不检索页面的其他部分(在您的客户端上)或想要检索它们然后丢弃它们?您可以很容易地在客户端执行此类操作。通过某个 Web 服务获取它相当于通过过滤代理,并且许多用于过滤代理的技术(例如 privoxy)可以在那里使用,但您必须编写自己的代码来确定哪些是相关的,哪些是不相关的。
构建网页的方法有很多种,但要可靠地创建这样的网页,可以去掉任何网页上的“chrome”,只显示内容。对于您提供给我的每个解决方案,我都可以制作一个网页,让您的解决方案失效。
编辑:另一方面,如果您只想获取 Wikipedia 上的文章内容,那么这是非常可行的。事实上,您可能可以编写一个简单的过滤代理,甚至一些本地 JavaScript,以注意到任何 MediaWiki 网站的基于模式的结构并删除所有 chrome。但当然它不适用于非 MediaWiki 网站...
如果你想知道为什么这在一般情况下是不可能的,那么请考虑这个问题:为我设计一台机器,除了在合理的距离内物理移动设备外,无需任何人工干预,它就可以完美地将任何高度、宽度或种类的树木修剪到合适的尺寸。祝你好运。