如何从 url 获取文本

How to get text from url

我有一些url

http://go.mail.ru/search?fr=vbm9&fr2=query&q=%D0%BF%D1%80%D0%BE%D0%B3%D1%83%D0%BB%D0%BA%D0%B0+%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D1%8B&us=10&usln=1
https://www.google.ru/search?q=NaoOmiKi&oq=NaoOmiKi&aqs=chrome..69i57j69i61&sourceid=chrome&es_sm=0&ie=UTF-8
https://yandex.ru/search/?text=%D0%BE%D1%82%D0%BA%D1%83%D0%B4%D0%B0%20%D0%B2%D0%B5%D0%B7%D1%83%D1%82%20%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D1%83%20%D0%B2%20%D1%81%D0%B5%D0%BA%D0%BE%D0%BD%D0%B4%20%D1%85%D0%B5%D0%BD%D0%B4&clid=2073067

当我在浏览器中 运行 这个 url 时,我发现它正在搜索:

прогулка актеры
NaoOmiKi
откуда везут одежду в секонд хенд

我想编写代码来获取这些值。我试试

get = urlparse(url)
print urllib.unquote(get[4])

但并不是所有 url 都能正常工作。我应该使用什么?

urlparse 将 URL 解析为 6 个组件:scheme、netloc、path、params、query、fragment。您正确使用索引 4 来获取路径。

然而,路径是一个 & 分隔的键=值对字符串,其值经过 urlencoded。您尝试取消引用整个字符串,而您只对 textq 键的值感兴趣。

您可以使用 urlparse.parse_qs 来解析查询字符串并在返回的字典中查找 qtext 键。