我想订阅来自 Google 新闻的 RSS/XML 提要,该提要捕获以下查询:
提及“studie”(德语为“study”)的文章,用德语撰写,来自任何国家。
我正在使用https://news.google.com/rss/search ,但对于本示例,在https://news.google.com/search上查看 UI 输出更容易,因此我将使用后者此示例中的 URL 基础。
现在,在XML API 参考中,Google 提到了影响语言或国家/地区的四个不同参数:
hl
(主机语言):假定最终用户输入的语言。即,说英语的人输入“学习”,Google 假定该术语是英语,然后将结果机器翻译回英语。对我来说,导航到将重定向一个 URLhl=en-US
(完整 URL 是https://news.google.com/?hl=en-US&gl=US&ceid=US:en)。gl
:提升原产国与参数值匹配的搜索结果。我的网络浏览器中的默认设置是gl=US
.lr
(语言限制):将搜索结果限制为以特定语言编写的文档cr
(国家限制):将搜索结果限制为源自特定国家的文档
基于以上所有内容,这将意味着 * 的 URL:
然而,这种尝试惨遭失败。它显示来自美国的英语结果,它 302 重定向到:
https://news.google.com/search?q=study&lr=lang_de&hl=en-US&gl=US&ceid=US:en
所以,为此:
- 如何正确构建 URL 参数以捕获来自任何国家/地区的“提及“studie”(德语为“study”)的文章,用德语编写。
- 到底是什么
ceid
,为什么谷歌完全没有记录它?
* IE:
>>> import urllib.parse
>>> urllib.parse.parse_qs('q=study&hl=en-US&lr=lang_de')
{'q': ['study'], 'hl': ['en-US'], 'lr': ['lang_de']}
相关但不解决任何问题: