0

我正在尝试制作一个小型新闻爬虫。经过多次尝试,我得到了一切工作。

问题是大约每个 HTML 新闻页面都有超过 50 张图片。

他们中的许多人都太小了。所以,我只是通过检查大小来过滤它们。只会拍摄大于 200x200 的图像。

但是一个页面上有很多图像,它们很大。有些新闻文章没有任何相关图片。

让我们举个例子 - 链接到新闻 - http://timesofindia.indiatimes.com/india/Over-9-3-lakh-TB-patients-in-India-undetected-Report/articleshow/24600851.cms

我的代码得到了这张图片 - 图片编号。0 http://timesofindia.indiatimes.com/photo/10905539.cms 图像高度 - 300 图像宽度 - 450

但是这个图像对图像主题毫无用处。简而言之“如何动态获得正确的图像”

我不想为每个网站制作代码。空白图像比错误图像更好。

4

2 回答 2

0

考虑alt文本。文本通常包含完整的alt标题或标题中的一些单词。

此外,该文章没有与标题关联的任何相关图像。

我还建议JSoup

jsoup:Java HTML 解析器

jsoup 是一个用于处理真实世界 HTML 的 Java 库。它提供了一个非常方便的 API 用于提取和操作数据,使用最好的 DOM、CSS 和类似 jquery 的方法。

jsoup 实现了 WHATWG HTML5 规范,并将 HTML 解析为与现代浏览器相同的 DOM。

scrape and parse HTML from a URL, file, or string
find and extract data, using DOM traversal or CSS selectors
manipulate the HTML elements, attributes, and text
clean user-submitted content against a safe white-list, to prevent XSS attacks
output tidy HTML
于 2013-10-26T04:48:50.517 回答
0

我会推荐一种方法,您可以根据图像的位置识别图像的接近程度。因此,如果图像出现在文章中,则它可能是关于文章本身的图像(非常宽的广告除外)。

您可以找出图像的来源并决定它是否应该让您感兴趣。例如,广告图片通常来自不属于该网站的不同服务器。(在您的情况下为 indiatimes.com)。

于 2013-10-26T04:51:32.117 回答