【问题标题】:Best Way to determine MimeType from a String?从字符串中确定 MimeType 的最佳方法?
【发布时间】:2010-08-06 03:43:55
【问题描述】:

我有一个下载页面并尝试解析 HTML 的爬虫。我一直面临的问题之一是如何正确确定 HTML 文件是什么 mimetype。

我现在正在使用

is = new ByteArrayInputStream( htmlResult.getBytes( "UTF-8" ) );
mimeType = URLConnection.guessContentTypeFromStream(is);

但它错过了这样的网站:http://www.artdaily.org/index.asp?int_sec%3D11%26int_new%3D39415,因为源代码中的 doc 标记和 HTML 标记之间有额外的空间。

有没有人知道判断字符串是否为 HTML 的好方法?由于文本嵌入在我可能遇到的二进制文件中,因此搜索或其他一些标签不一定有效。

谢谢

【问题讨论】:

标签: java html mime-types


【解决方案1】:

您是否可以控制爬虫使用的 http 连接?那么如何检查 HTTP 响应标头“Content-type”。这是确定内容类型的一种方法。我刚刚对 artdaily.com 进行了快速测试,以查看是否发送了内容类型标头。还有一个值是 text/html

【讨论】:

  • 很多时候内容类型没有被发送,或者我也发现它是以文本/html 的形式发送的,而实际上它是一个视频或 pdf 文件。所以我似乎不能依赖服务器的内容类型
猜你喜欢
  • 2016-11-11
  • 1970-01-01
  • 2011-02-13
  • 2012-11-25
  • 2011-11-21
  • 2011-08-18
  • 1970-01-01
  • 2013-09-18
  • 2010-09-20
相关资源
最近更新 更多