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

 更新时间:2015年06月28日 15:08:00   作者:秋风秋雨  
这篇文章主要介绍了Python实现将绝对URL替换成相对URL的方法,涉及Python字符串操作及正则匹配的相关技巧,需要的朋友可以参考下

本文实例讲述了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 pymongo
import re
from StringIO import StringIO
conn = pymongo.Connection()
db = conn.test
def 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程序设计有所帮助。

相关文章

  • 遗传算法之Python实现代码

    遗传算法之Python实现代码

    本篇文章主要介绍了Python 遗传算法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 详解Python中三元运算符的使用

    详解Python中三元运算符的使用

    条件表达式(有时称为“三元运算符”)在所有Python操作中优先级最低,三元运算符根据条件为真或假来计算某些东西,下面就跟随小编一起来看看Python中三元运算符的具体使用吧
    2023-09-09
  • Python类成员继承重写的实现

    Python类成员继承重写的实现

    这篇文章主要介绍了Python类成员继承重写的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python各类经纬度转换的实例代码

    python各类经纬度转换的实例代码

    这篇文章主要介绍了python各类经纬度转换的实例代码,非常不错,具有一定的参考借鉴价值,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 使用Numpy读取CSV文件,并进行行列删除的操作方法

    使用Numpy读取CSV文件,并进行行列删除的操作方法

    今天小编就为大家分享一篇使用Numpy读取CSV文件,并进行行列删除的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python学习教程之常用的内置函数大全

    Python学习教程之常用的内置函数大全

    python给我们提供了很多已经定义好的函数,下面这篇文章主要给大家介绍了关于Python学习教程之一些常用的内置函数,文中分享了关于数学函数、功能函数、类型转换函数、字符串处理和序列处理函数的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • 查看端口并杀进程python脚本代码

    查看端口并杀进程python脚本代码

    今天小编就为大家分享一篇查看端口并杀进程python脚本代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 关于对python中进程的几个概念理解

    关于对python中进程的几个概念理解

    进程由程序,数据和进程控制块组成,是正在执行的程,程序的一次执行过程,是资源调度的基本单位,下面这篇文章主要给大家介绍了关于对python中进程的几个概念理解,需要的朋友可以参考下
    2021-10-10
  • Python实现多维数据分析的示例详解

    Python实现多维数据分析的示例详解

    多维数据分析是对数据的信息分析,它考虑了许多关系,这篇文章主要为大家详细介绍了一些使用Python分析多维/多变量数据的基本技术,希望对大家有所帮助
    2023-11-11
  • Python Pandas批量读取csv文件到dataframe的方法

    Python Pandas批量读取csv文件到dataframe的方法

    这篇文章主要介绍了Python Pandas批量读取csv文件到dataframe的方法,需要的朋友可以参考下
    2018-10-10

最新评论