Я использую Python 2.7. И я хочу преобразовать URL.Как сопоставить объект в python?
То, что я хотел бы, чтобы это
ВХОД:
HOGEHOGE<url>http://super.long.url.com</url>BARBAR<url>http://super.long.url.com</url>FUGAFAUGA
* строка включает в себя японский
ВЫВОД:
HOGEHOGEhttp://short.urlBARBARhttp://short.url2FUGAFUGA
Мой код здесь.
# -*- coding: utf-8 -*-
import re
def __make_shorten_url_text(text):
def make_shorten_url(m):
# (1)how to use it??
long_url = m.compile('\g<1>')
import urllib
import bitly_api
login_name = 'my id'
api_key = 'my secret key'
bitly = bitly_api.Connection(login_name, api_key)
quote_url = urllib.quote(long_url.group(), ':/?&=')
try:
result = bitly.shorten(quote_url)
except:
return long_url
return result['url'].encode('utf-8')
shortened_url_text = re.sub(ur'<url>(.*?)</url>', make_shorten_url, text)
return shortened_url_text
печати __make_shorten_url_text ('HOGE https://stackoverflow.com/posts/29250195/ Barbar')
Я использую bitly_api.
Я хочу получить URL-адрес, и я не знаю, как использовать '\ g < 1>' в MatchObject. Прокомментированный (1) в моем коде, что я не знаю, как исправить.
Не могли бы вы рассказать мне, как это исправить?
ВХОД:
JAPANESE_CHATACTER<url>https://stackoverflow.com/posts/29250195/</url>JAPANESE_CHATACTER
в Python
ВЫВОД:
JAPANESE_CHATACTERhttp://bit.ly/1GXY6npJAPANESE_CHATACTER。
в Django
ВЫВОД:
JAPANESE_CHATACTER<url>https://stackoverflow.com/posts/29250195/</url>JAPANESE_CHATACTER
он автоматически преобразуется.
спасибо! Ваш код работал нормально! – shinriyo
@shinriyo Извините, меня не было. Ваша проблема решена? – Jerry
да! Спасибо. Моя проблема заключалась в том, что я сам неправильно понял свой код. И это первый раз, когда вы узнаете свою страну, Маврикий. Я узнал, что есть много добрых народов. – shinriyo