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

作者:秋风秋雨 时间:2023-08-28 13:40:08 

本文实例讲述了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,URL
0
投稿

猜你喜欢

  • pandas按行按列遍历Dataframe的几种方式

    2023-07-04 15:36:05
  • js实现兼容性好的微软官网导航下拉菜单效果

    2024-04-22 13:09:20
  • 运行asp.net程序 报错:磁盘空间不足

    2024-01-16 23:48:21
  • 深入了解javascript中的prototype与继承

    2024-04-23 09:13:10
  • Yahoo!网站性能最佳体验的34条黄金守则——图片、Coockie与移动应用

    2008-05-29 13:44:00
  • Maui Blazor 使用摄像头实现代码

    2023-12-06 11:44:37
  • go中string、int、float相互转换的实现示例

    2024-04-28 09:14:19
  • flask中响应错误的处理及errorhandler的应用方式

    2021-09-22 08:46:19
  • ASP开发中可能遇到的错误信息中文说明大全(整理收集)第1/2页

    2010-07-02 09:50:31
  • win2003 安装 sqlserver 2005的方法

    2024-01-21 23:46:22
  • python基础while循环及if判断的实例讲解

    2021-02-18 06:56:06
  • 互联网产品设计零碎记

    2010-09-25 12:49:00
  • Python unittest模块用法实例分析

    2023-03-28 17:36:06
  • Python3导入CSV文件的实例(跟Python2有些许的不同)

    2023-09-21 05:19:29
  • oracle join on 数据过滤问题

    2009-07-14 21:17:00
  • PHP实现获取客户端IP并获取IP信息

    2023-06-18 08:34:26
  • JavaScript性能优化--创建文档碎片

    2009-12-04 12:41:00
  • vue 项目@change多个参数传值多个事件的操作

    2024-06-07 16:01:08
  • 在Java程序中使用数据库的新方法

    2024-01-20 00:55:35
  • SQL Server 空值处理策略[推荐]

    2024-01-15 17:07:41
  • asp之家 网络编程 m.aspxhome.com