我有一些网址
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
当我在浏览器中运行此网址时,我得到了它:
的搜索结果прогулка актеры
NaoOmiKi
откуда везут одежду в секонд хенд
我想编写代码来获取此值。我试试
get = urlparse(url)
print urllib.unquote(get[4])
但它并不适用于所有网址。我应该用什么?
答案 0 :(得分:2)
urlparse将URL解析为6个组件:scheme,netloc,path,params,query,fragment。您正确使用索引4来获取路径。
然而,该路径是一个&
- 分隔的key = value对字符串,其值为urlencoded。您尝试取消引用整个字符串,而您只对text
或q
键的值感兴趣。
您可以使用urlparse.parse_qs来解析查询字符串,并在返回的字典中查找q
或text
个键。