当前位置: 首页 > 编程笔记 >

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

纪翰
2023-03-14
本文向大家介绍Python实现将绝对URL替换成相对URL的方法,包括了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/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替换为相对url的教程,包括了使用Python脚本将绝对url替换为相对url的教程的使用技巧和注意事项,需要的朋友参考一下 公司一个项目需要上传图片,一开始同事将图片上传后结合当前主机拼成了一个绝对的URL(http://192.168.1.1:888/m/getimg?filename=xxx.jpg由于同时给手机终端提供接口,在手机终端会引起一些

  • 问题内容: 如何使用PHP将相对路径转换为绝对URL? 问题答案:

  • 问题内容: 我无法从相对URL构建绝对URL而没有求助于String hackery … 给定 里面的方法: 什么是最“正确”的构建方式: (注意,必须是绝对的,而不是相对的) 当前,我正在通过构建字符串来实现,但是必须有更好的方法。 我研究了新URI / URL的各种组合,最后得到了 非常感谢帮助 问题答案: 使用java.net.URL

  • 本文向大家介绍python实现文件路径和url相互转换的方法,包括了python实现文件路径和url相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现文件路径和url相互转换的方法。分享给大家供大家参考。具体实现方法如下: 运行结果如下: path\to\file\or\folder\ 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 假设我有一个java.net.URL对象,它指向 要么 在某处有一些帮助程序可以在其中添加一些相对URL吗?例如append 或get: 问题答案: 有一个带有基础和规范的构造函数。 或者,更严格地遵守标准,并具有执行相同操作的方法。创建一个从你的使用。

  • 您如何在Java web应用程序中处理Javascript文件中的URL,例如在执行AJAX请求时? 对于AJAX调用,您总是使用绝对URL吗?(包括web应用程序上下文)-如果应用程序上下文发生变化怎么办? 还是使用相对URL?这很困难,因为JSP文件可以通过应用程序中的多个不同URL映射加载。 更清楚地说: 假设我有一个java应用程序myapp.war在http://www.example.