香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python实现将绝对URL替换成相对URL的方法


时间:2021-12-08 14:52 作者:admin


本文实例讲述了python/' target='_blank'>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/env Python#-*- coding:utf-8 -*-### author : cold night# email  : wh_linux@126.com#import pymongoimport refrom StringIO import StringIOconn = pymongo.Connection()db = conn.testdef replace_url():  regex = re.compile(r'([href¦src])=["¦\']http://.*?(/m/getimg\?.*?)["¦\']')  results = db['test'].find()  db_coll = db['test']  def replace(r):    content = r.get('content')    if not content: return    content = StringIO(content)    content.seek(0)    result = StringIO()    for line in content.readlines():      t = regex.sub(r'\1="\2"', line)      result.write(t)    result.seek(0)    content = result.read()    if content:      r['content'] = content    _id = r.get('_id')    db_coll.update({'_id':_id}, r)  results = [replace(i) for i in results]if __name__=="__main__":replace_url()

希望本文所述对大家的Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)