如何从随机网页中抓取文本和图像?
How can I scrape text and images from a random web page?
我需要一种方法来直观地表示互联网上的随机网页。
让我们以 this 网页为例。
目前,这些是我可以使用的标准资源:
- Favicon:太小,太抽象。
- 标题:非常具体但视觉美感差。
- URL: 没人看书
- 图标:太抽象了。
- 缩略图:好难得,太丑了(一大堆元素挤在一个小space里)。
我需要以一种非常有意义并吸引其他人点击的方式直观地表示一个随机网站。
我需要类似 Facebook 在您分享 link 时所做的事情:
它删除了 link 的图像,然后创建了一个漂亮且有意义的磁贴,吸引用户点击。
有什么方法可以从网站上抓取图片和文字吗?我主要对 Objective-C/JavaScript 组合感兴趣,但任何东西都可以,并且会被选为批准的答案。
编辑:Re-wrote post 并更改了标题。
您可以开发自己的 Link 预览插件 或使用现有的第三方插件。
无法在此处发布示例。但是我可以 URL 流行的 Link 预览插件。可以免费或付费。
您可以检查您的 url 演示 here ,它在 JSON 和 Raw[=33 中给出响应=] 数据
您也可以使用 API。
希望对您有所帮助。
这就是 OpenGraph 标准的用途。比如你去例子中的Redditpost,你可以看到HTML<meta />
标签提供的页面信息(都是'og'开头的标签) ):
但是,您无法从网络浏览器中获取数据; CORS 阻止对 URL 的请求。事实上,Facebook 所做的似乎是将 URL 发送到他们的服务器并让他们执行请求以获取所需信息,然后将其发回。
网站通常会为用户友好的社交媒体共享提供元信息,例如Open Graph protocol tags。事实上,在您自己的示例中,reddit 页面具有构成 Link 预览中信息的 Open Graph 标签(查找具有 og: 属性的元标签)。
后备方法是为尚未符合 standardized format 的大多数流行网站实施特定于站点的解析代码,或者尝试一般地猜测给定网站上最突出的内容是什么(例如,首屏最大的图片、第一段的前几句、标题元素中的文本等)。
前一种方法的问题在于,随着这些网站的变化和发展,您必须维护解析器,而对于后者,您根本无法可靠地预测页面上的重要内容,也不能指望总能找到什么您正在寻找其中之一(例如,缩略图的图像)。
由于您永远无法为 100% 的网站生成有意义的预览,因此归结为一个简单的问题。 link 预览的可接受成功率是多少?如果它接近于解析标准元信息所能获得的结果,我会坚持使用它,这样可以省去很多麻烦。如果没有,除了上面共享的库之外,您还可以查看付费 services/APIs,它可能涵盖比您自己的更多用例。
我需要一种方法来直观地表示互联网上的随机网页。
让我们以 this 网页为例。
目前,这些是我可以使用的标准资源:
- Favicon:太小,太抽象。
- 标题:非常具体但视觉美感差。
- URL: 没人看书
- 图标:太抽象了。
- 缩略图:好难得,太丑了(一大堆元素挤在一个小space里)。
我需要以一种非常有意义并吸引其他人点击的方式直观地表示一个随机网站。
我需要类似 Facebook 在您分享 link 时所做的事情:
它删除了 link 的图像,然后创建了一个漂亮且有意义的磁贴,吸引用户点击。
有什么方法可以从网站上抓取图片和文字吗?我主要对 Objective-C/JavaScript 组合感兴趣,但任何东西都可以,并且会被选为批准的答案。
编辑:Re-wrote post 并更改了标题。
您可以开发自己的 Link 预览插件 或使用现有的第三方插件。
无法在此处发布示例。但是我可以 URL 流行的 Link 预览插件。可以免费或付费。
您可以检查您的 url 演示 here ,它在 JSON 和 Raw[=33 中给出响应=] 数据 您也可以使用 API。
希望对您有所帮助。
这就是 OpenGraph 标准的用途。比如你去例子中的Redditpost,你可以看到HTML<meta />
标签提供的页面信息(都是'og'开头的标签) ):
但是,您无法从网络浏览器中获取数据; CORS 阻止对 URL 的请求。事实上,Facebook 所做的似乎是将 URL 发送到他们的服务器并让他们执行请求以获取所需信息,然后将其发回。
网站通常会为用户友好的社交媒体共享提供元信息,例如Open Graph protocol tags。事实上,在您自己的示例中,reddit 页面具有构成 Link 预览中信息的 Open Graph 标签(查找具有 og: 属性的元标签)。
后备方法是为尚未符合 standardized format 的大多数流行网站实施特定于站点的解析代码,或者尝试一般地猜测给定网站上最突出的内容是什么(例如,首屏最大的图片、第一段的前几句、标题元素中的文本等)。
前一种方法的问题在于,随着这些网站的变化和发展,您必须维护解析器,而对于后者,您根本无法可靠地预测页面上的重要内容,也不能指望总能找到什么您正在寻找其中之一(例如,缩略图的图像)。
由于您永远无法为 100% 的网站生成有意义的预览,因此归结为一个简单的问题。 link 预览的可接受成功率是多少?如果它接近于解析标准元信息所能获得的结果,我会坚持使用它,这样可以省去很多麻烦。如果没有,除了上面共享的库之外,您还可以查看付费 services/APIs,它可能涵盖比您自己的更多用例。