Чтение / разбор короткого URL-адреса для полного URL-адреса в Python 3.6 и urllib3 [дубликат]

Отличные ответы выше. Я хочу только добавить, что внутри области вашей функции вы можете присвоить значение этой переменной переменной let self = this;, а затем внутри обратного вызова просто обратиться к данным типа self.data.

Ваш код :

function MyConstructor(data, transport) {
    this.data = data;

    let self = this;   //ADD THIS LINE

    transport.on('data', function () {
        alert(self.data);   //USE IT LIKE THIS
    });
}

// Mock transport object
var transport = {
    on: function(event, callback) {
        setTimeout(callback, 1000);
    }
};

// called as
var obj = new MyConstructor('foo', transport);
3
задан alexwlchan 28 December 2015 в 23:11
поделиться

3 ответа

Вы должны иметь возможность использовать API Twitter. Каждый твит имеет представление JSON ; JSON из Python прост .

Один из объектов , содержащихся в JSON , является expanded_url, который определен как «Полностью разрешенный URL».

5
ответ дан ChrisW 22 August 2018 в 14:02
поделиться
  • 1
    Благодаря! Я не проверял изменения API Twitter, так как t.co был создан на самом деле. Это определенно поможет. – Mee 15 January 2012 в 23:16

Самый простой способ в python2 - использовать urllib2.urlopen() :

tco_url = "http://t.co/whatever"
req = urllib2.urlopen(tco_url)
print req.url

выведет URL tco_url, наконец, разрешит, после выполнения всех переадресаций.

9
ответ дан Daenyth 22 August 2018 в 14:02
поделиться

Используя запросов , вы можете написать:

>>> import requests
>>> print(requests.get("http://t.co/UVgwaemZ").url)
http://paper.li/vascoda/vascoda-partner
7
ответ дан miku 22 August 2018 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: