python – 从url中删除随机字符
发布时间:2020-12-20 11:56:30 所属栏目:Python 来源:网络整理
导读:我有一个网址列表如下: urls = [www.example.com?search?q=Termpage=0,www.example.com?search?q=Termpage=1,www.example.com?search?q=Termpage=2] 术语可能是我们想要的任何术语:欧洲,伦敦等. 我的代码部分(在整个代码中)如下: for url in urls: file_n
我有一个网址列表如下:
urls = [ www.example.com?search?q=Term&page=0,www.example.com?search?q=Term&page=1,www.example.com?search?q=Term&page=2 ] 术语可能是我们想要的任何术语:欧洲,伦敦等. 我的代码部分(在整个代码中)如下: for url in urls: file_name = url.replace('http://www.example.com/search?q=','').replace('=','').replace('&','') file_name = file_name+('.html') 这导致: Termpage0.html Termpage1.html and so on.. 如何将URL列表中的Term删除为: page0.html page1.html and so on? 解决方法
您可以使用
urllib.parse 来解析URL,然后使用查询部分.这种方法的好处是,如果更改了查询部件的顺序或添加了新部件,它将工作相同:
from urllib import parse urls = [ 'www.example.com?search?q=Term&page=0','www.example.com?search?q=Term&page=1','www.example.com?search?q=Term&page=2' ] for url in urls: parts = parse.urlparse(url) query = parse.parse_qs(parts.query) print('page{}.html'.format(query['page'][0])) 输出: page0.html page1.html page2.html 在上面的 >>> from urllib import parse >>> parts = parse.urlparse('www.example.com/search?q=Term&page=0') >>> parts ParseResult(scheme='',netloc='',path='www.example.com/search',params='',query='q=Term&page=0',fragment='') 然后 >>> query = parse.parse_qs(parts.query) >>> query {'page': ['0'],'q': ['Term']} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |