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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
pandas按行按列遍历Dataframe的几种方式
2023-07-04 15:36:05
![](https://img.aspxhome.com/file/2023/1/131391_0s.png)
js实现兼容性好的微软官网导航下拉菜单效果
2024-04-22 13:09:20
![](https://img.aspxhome.com/file/2023/0/135740_0s.jpg)
运行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
![](https://img.aspxhome.com/file/2023/0/82770_0s.png)
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
![](https://img.aspxhome.com/file/UploadPic/20109/25/diedai-600x64-87s.png)
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
![](https://img.aspxhome.com/file/2023/8/121978_0s.jpg)
在Java程序中使用数据库的新方法
2024-01-20 00:55:35
SQL Server 空值处理策略[推荐]
2024-01-15 17:07:41
![](https://img.aspxhome.com/file/2023/7/96177_0s.jpg)