Python实现将绝对URL替换成相对URL的方法
本文实例讲述了Python实现将绝对URL替换成相对URL的方法。分享给大家供大家参考。具体分析如下:
一、问题:
公司一个项目需要上传图片,一开始同事将图片上传后结合当前主机拼成了一个绝对的URL(http://192.168.1.1:888/m/getimg?filename=xxx.jpg)由于同时给手机终端提供接口,在手机终端会引起一些bug,改完代码后要求将以前的uri替换成相对的URL(/m/getimg?filename=xxx.jpg),由于图片是用img标签嵌入到内容同时用a标签括起显示大图的,所以需要读取数据库并对内容进行替换
二、解决方法:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#
#
#author:coldnight
#email:wh_linux@126.com
#
importpymongo
importre
fromStringIOimportStringIO
conn=pymongo.Connection()
db=conn.test
defreplace_url():
regex=re.compile(r'([href¦src])=["¦\']http://.*?(/m/getimg\?.*?)["¦\']')
results=db['test'].find()
db_coll=db['test']
defreplace(r):
content=r.get('content')
ifnotcontent:return
content=StringIO(content)
content.seek(0)
result=StringIO()
forlineincontent.readlines():
t=regex.sub(r'\1="\2"',line)
result.write(t)
result.seek(0)
content=result.read()
ifcontent:
r['content']=content
_id=r.get('_id')
db_coll.update({'_id':_id},r)
results=[replace(i)foriinresults]
if__name__=="__main__":replace_url()
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
10 花束文案简短祝福语大全
11 虎年拜年祝福语小孩简短
12 写给侄子文案祝福语简短
13 猪小年经典祝福语简短
14 反乡送行祝福语简短
15 开心早上祝福语简短英语
16 拜年图文祝福语简短精辟
17 退休祝福语事业文案简短
18 河北抗疫祝福语 简短