gpt4 book ai didi

c# - 如何识别网站的内容语言,如英语、日语、中文等

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:48 26 4
gpt4 key购买 nike

(我正在开发一个网站来抓取 ASP.NET 中的其他网站内容。我能够正确获取内容,但如何根据该内容识别使用的是哪种语言。例如英语、印地语、中文, 日语等

我使用了以下代码。

HttpWebRequest 请求 = (HttpWebRequest)HttpWebRequest.Create(TextBox1.Text ); request.UserAgent = "一个 .NET 网络爬虫";

    WebResponse response = request.GetResponse();

Stream stream = response.GetResponseStream();

StreamReader reader = new StreamReader(stream);
string htmlText = reader.ReadToEnd();

最佳答案

有些网页在 html 元素中包含“lang”或“xml:lang”属性。例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>

</body>
</html>

在此示例中,属性“lang”和“xml:lang”设置为“en”(即英语)。此外,某些服务器可能会设置“Content-Language” header ,您可以检查该 header 的值。 (虽然,老实说我还没有真正看到设置这个值的服务器)。

但是,这些属性或 header 的值可以是任何值,一些服务器和网页甚至根本不会声明一种语言。但是您可能想要搜索由 ISO-639 定义的通用语言代码和 ISO-3166 .

至于在 C# 中的实现,我承认:我没有太多线索。但我认为 WebResponse 类有一个名为 Headers 的属性你可能想看看。

哦,对于像印地语这样的语言,我很确定它们包含该语言独有的字符。在这种情况下,您可以在 htmlText 字符串中搜索任何这些特定字符。

还有一种简单的方法可以检查您的 htmlText 字符串中是否存在特定语言常用的单词。例如,如果您想知道 page 是否是法语,您可以搜索“b​​onjour”等词。

关于c# - 如何识别网站的内容语言,如英语、日语、中文等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com