python 重定向获取真实url的方法

楼主在做公司项目的时候遇到url重定向的问题,因此上网简单查找,作出如下结果

由于使用的是语言是python所以以下是python的简单解决方案

http_headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36'}

def get_real_url(url):
 rs = requests.get(url,headers=http_headers,timeout=10)
 rs.url

以上代码未有重试机制,下面加上重试机制加以完善

def get_real_url(url,try_count = 1):
if try_count > 3:
 return url
try:
 rs = requests.get(url,headers=http_headers,timeout=10)
 if rs.status_code > 400:
 return get_real_url(url,try_count+1)
 return rs.url
except:
 return get_real_url(url, try_count + 1)

以上这篇python 重定向获取真实url的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python爬虫之urllib3的使用示例

    Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库.许多Python的原生系统已经开始使用urllib3.Urllib3提供了很多python标准库urllib里所没有的重要特性: 线程安全 连接池 客户端SSL/TLS验证 文件分部编码上传 协助处理重复请求和HTTP重定位 支持压缩编码 支持HTTP和SOCKS代理 一.get请求 urllib3主要使用连接池进行网络请求的访问,所以访问之前我们需要创建一个连接池对象,如下所示: import urllib3 url

  • python re正则匹配网页中图片url地址的方法

    最近写了个python抓取必应搜索首页http://cn.bing.com/的背景图片并将此图片更换为我的电脑桌面的程序,在正则匹配图片url时遇到了匹配失败问题. 要抓取的图片地址如图所示: 首先,使用这个pattern reg = re.compile('.*g_img={url: "(http.*?jpg)"') 无论怎么匹配都匹配不到,后来把网页源码抓下来放在notepad++中查看,并用notepad++的正则匹配查找,很轻易就匹配到了,如图: 后来我写了个测试代码,把图片地

  • 解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available

    简述 从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can't connect to HTTPS URL because the SSL module is not available 错误原因 在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl. image.png 而本地的openssl依然是1.0.1e的. [root@localhost ~]# openssl ver

  • Python爬虫:url中带字典列表参数的编码转换方法

    平时见到的url参数都是key-value, 一般vlaue都是字符串类型的 如果有幸和我一样遇到字典,列表等参数,那么就幸运了 python2代码 import json from urllib import urlencode # 1. 直接将url编码 params = { "name": "Tom", "hobby": ["ball", "swimming"], "books":

  • python采集百度百科的方法

    本文实例讲述了python采集百度百科的方法.分享给大家供大家参考.具体如下: #!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:get_baike.py import urllib2,re import sys def getHtml(url,time=10): response = urllib2.urlopen(url,timeout=time) html = response.read() respon

  • Python3模拟curl发送post请求操作示例

    本文实例讲述了Python3模拟curl发送post请求操作.分享给大家供大家参考,具体如下: 后端给的接口样式: curl "http://65.33.44.43:509/pre/update" -H "Content-Type: text/json" -d '{"TYPE":"PRE-FILTER_UPDATE", "DATA":[{"SN":"1E3006CEBFE00&

  • Python2和Python3中urllib库中urlencode的使用注意事项

    前言 在Python中,我们通常使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作,但是在Python2和Python3中urllib模块中所提供的urlencode的包位置有些不同. 对于Python2 Python2中提供了urllib和urllib2两个模块. urlencode方法所在位置为: urllib.urlencode(values) # 其中values为所需要编码的数据,并且只能为字典 例如模拟登陆CSDN网站,示例程序如下 import url

  • python采集百度搜索结果带有特定URL的链接代码实例

    这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #coding utf-8 import requests from bs4 import BeautifulSoup as bs import re from Queue import Queue import threading from argparse import ArgumentParser arg = Argu

  • python 重定向获取真实url的方法

    楼主在做公司项目的时候遇到url重定向的问题,因此上网简单查找,作出如下结果 由于使用的是语言是python所以以下是python的简单解决方案 http_headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116

  • Python批量获取基金数据的方法步骤

    20年初准备投资基金,想爬取基金的业绩数据. 20年基金迎来了爆发式增长,现把代码开源以供参考. 本代码只能实现初步汇总,输出csv文件来保存基金的单位&累计净值,后期仍需要结合统计方法来筛选优质基金. 参考了网上的部分代码,实在不记得出处了,侵删. import requests import time import execjs start = time.perf_counter() # 获取所有基金编号 def getAllCode(): url = 'http://fund.eastmo

  • php使用正则表达式获取图片url的方法

    本文实例讲述了php使用正则表达式获取图片url的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?php header("Content-type:text/html;charset=utf-8"); $str = '<p><img src="images/11111111.jpg" alt="美女" /></p>'; $pattern = "/[img|IMG].*

  • asp.net获取真实ip的方法

    本文实例讲述了asp.net获取真实ip的方法.分享给大家供大家参考.具体如下: public string getip() { string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (null == result || result == String.Empty) { result = HttpContext.Current.Request.ServerVari

  • 在python中用url_for构造URL的方法

    用url_for构造URL,他接受函数名作为第一个参数,也接受对应URL规则的变量部分的命名参数,未知的变量部分会添加到URL末尾作为查询参数. 构建URL而不选择直接在代码中拼URL的原因有两点: 1)在未来有更改的时候只需要一次性修改URL,而不用到处替换: 2)URL构建会转义特殊字符和Unicode数据, 这些工作不需要我们自己处理. 下面是个例子: from flask import Flask,url_for app = Flask(__name__) @app.route('/ex

  • python xpath获取页面注释的方法

    版本信息: python 2.7.12 lxml 3.8.0 from lxml import etree html_str = """ <div id="box1">this from blog.csdn.net/lncxydjq , DO NOT COPY! <div id="box2">***** <!--can u get me, bitch?--> </div> </div

  • Python如何获取实时股票信息的方法示例

    如何获取实时股票信息 股票信息的接口有很多,之前大家常用的是新浪的,但在年初的时候,新浪的接口突然不能使用,给大家造成了很大的困扰,为此网上也有很多教程教大家如何从新浪获取数据,跟着教程弄了半天也不行,索性换到126(也就是网易了),感觉速度都还不错. 首先我们看下接口地址:http://api.money.126.net/data/feed/1000001,money.api 其中的1000001就是股票代码了,跟新浪的不同,他的第一位代表交易所,后面6位是股票代码 0:上交所 1:深交所 2

  • Python中获取对象信息的方法

    当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> type(123) <type 'int'> >>> type('str') <type 'str'> >>> type(None) <type 'NoneType'> 如果一个变量指向函数或者类,也可以用type()判断: >&

  • python单例模式获取IP代理的方法详解

    引言 最近在学习python,先说一下我学Python得原因,一个是因为它足够好用,完成同样的功能,代码量会比其他语言少很多,有大量的丰富的库可以使用,基本上前期根本不需要自己造什么轮子.第二个是因为目前他很火,网上各种资料都比较丰富,且质量尚可.接下来不如正题 在学习Python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败.高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,这里讲述一个爬虫技巧,设置代理IP 为什么需

  • Python实现获取操作系统版本信息方法

    最近,想在我的YouMoney(http://code.google.com/p/youmoney/)里面增加提取用户操作系统版本信息.比如windows用户,可能要返回Windows XP ,或者Windows 2003, 苹果用户应该返回Mac OS X 10.5.8.用了很多办法,包括在mac系统里调用系统命令,取环境变量,等等.最后无意发现,原来python里里面有个platform模块就可以干这件事情.省事啊! mac上这么干 复制代码 代码如下: localhost:~ apple$

随机推荐