0

我有一些网址

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])

但它不适用于所有网址。我应该使用什么?

4

1 回答 1

2

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

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

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

于 2016-06-14T09:59:30.607 回答