python语言的主网站网址-python如何获得一个url地址对应的跳转后的最终网址

用selenium+phantonjs...

#!/usr/bin/python2.7

from twisted.internet import reactor

from twisted.internet.defer import Deferred, DeferredList, DeferredLock

from twisted.internet.defer import inlineCallbacks

from twisted.web.client import Agent, HTTPConnectionPool

from twisted.web.http_headers import Headers

from pprint import pprint

from collections import defaultdict

from urlparse import urlparse

from random import randrange

import fileinput

pool = HTTPConnectionPool(reactor)

pool.maxPersistentPerHost = 16

agent = Agent(reactor, pool)

locks = defaultdict(DeferredLock)

locations = {}

def getLock(url, simultaneous = 1):

return locks[urlparse(url).netloc, randrange(simultaneous)]

@inlineCallbacks

def getMapping(url):

# Limit ourselves to 4 simultaneous connections per host

# Tweak this as desired, but make sure that it no larger than

# pool.maxPersistentPerHost

lock = getLock(url,4)

yield lock.acquire()

try:

resp = yield agent.request('HEAD', url)

locations[url] = resp.headers.getRawHeaders('location',[None])[0]

except Exception as e:

locations[url] = str(e)

finally:

lock.release()

而且可以试试pip包

from urlunshort import resolve

resolve("http://bit.ly/qlKaI") 结果 'http://bitbucket.org/runeh/urlunshort/'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值