如何使用python检测网页内容的语言

时间:2015-06-25 07:08:48

标签: python

我必须测试一堆网址,看看这些网页是否有相应的翻译内容。有没有办法使用Python语言返回网页中的内容语言?就像页面是中文一样,它应该返回“中文”``。

我用langdetect模块检查了它,但无法得到我想要的结果。这些URls采用Web xml格式。内容显示在<releasehigh>

4 个答案:

答案 0 :(得分:1)

也许你有一个像这样的标题:

<HTML xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

如果是这种情况你可以看到lang =&#34; fr&#34;这是一个法国网页。如果情况并非如此,猜测文本的语言并非易事。

答案 1 :(得分:1)

您可以提取一大块内容,然后使用某些python语言检测,如langdetectguess-language

答案 2 :(得分:0)

这是一个简单的示例,展示了使用BeautifulSoup提取HTML正文文本和langdetect进行语言检测:

from bs4 import BeautifulSoup
from langdetect import detect

with open("foo.html", "rb") as f:
    soup = BeautifulSoup(f, "lxml")
    [s.decompose() for s in soup("script")]  # remove <script> elements
    body_text = soup.body.get_text()
    print(detect(body_text))

答案 3 :(得分:0)

您可以使用BeautifulSoup从HTML源代码中提取语言。

<html class="no-js" lang="cs">

从源代码中提取lang字段:

from bs4 import BeautifulSoup
import requests

html = requests.get(url).content
soup = BeautifulSoup(html, 'html.parser')
print(soup.html["lang"])