首页 > 编程语言 >开发笔记 -- URL地址格式显示异常-用python-urllib库解决1

开发笔记 -- URL地址格式显示异常-用python-urllib库解决1

时间:2022-11-14 11:58:38浏览次数:53  
标签:https cn -- URL itc E6% python str

场景描述:

  开发中,尤其数据采集过程中,偶尔会遇到URL地址显示异常的情况,如下:

https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp6.itc.cn%2Fq_70%2Fimages03%2F20210910%2F3a1618342d16479698e1026983dce86b.jpeg&refer=http%3A%2F%2Fp6.itc.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670722169&t=6a3e0b1c459545b0dba348c38477ce9f
https://facert.gitbooks.io/python-data-structure-cn/2.%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/2.2.%E4%BB%80%E4%B9%88%E6%98%AF%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/

如果直接复制到浏览器访问,会提示异常,如下:

http%3A%2F%2Fp6.itc.cn%2Fq_70%2Fimages03%2F20210910%2F3a1618342d16479698e1026983dce86b.jpeg

那怎么处理,不着急,利用python的urllib库来处理:

macdeMacBook-Pro-2:~ mac$ python3
Python 3.10.4 (v3.10.4:9d38120e33, Mar 23 2022, 17:29:05) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib.parse import unquote, quote
>>> 
>>> html_str = unquote('https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp6.itc.cn%2Fq_70%2Fimages03%2F20210910%2F3a1618342d16479698e1026983dce86b.jpeg&refer=http%3A%2F%2Fp6.itc.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670722169&t=6a3e0b1c459545b0dba348c38477ce9f')
>>> html_str
'https://gimg2.baidu.com/image_search/src=http://p6.itc.cn/q_70/images03/20210910/3a1618342d16479698e1026983dce86b.jpeg&refer=http://p6.itc.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670722169&t=6a3e0b1c459545b0dba348c38477ce9f'
>>> 
>>> html_str_1 = unquote('https://facert.gitbooks.io/python-data-structure-cn/2.%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/2.2.%E4%BB%80%E4%B9%88%E6%98%AF%E7%AE%97%E6%B3%95%E5%88%86%E6%9E%90/')
>>> html_str_1
'https://facert.gitbooks.io/python-data-structure-cn/2.算法分析/2.2.什么是算法分析/'
>>> exit()

OK,html_str 和 html_str_1打印输出的格式,就是格式化后的地址。

http://p6.itc.cn/q_70/images03/20210910/3a1618342d16479698e1026983dce86b.jpeg

 

标签:https,cn,--,URL,itc,E6%,python,str
From: https://www.cnblogs.com/hellojesson/p/16888528.html

相关文章

  • 3.go开发中常用的DOS命令
    1.介绍 DiskOperatingSysterm盘操作系统2.目录操作 查看当前目录 dir切换目录cd/d f:切换盘符cdd:\test100回到上级目录cd..回到根目录cd回车新......
  • shell 程序中 2> /dev/null(转)
    转自:shell程序中2>/dev/null2>/dev/null的意思就是将标准错误stderr删掉手抄一段《linuxshell脚本攻略》描述:/dev/null是一个特殊的设备文件,这个文件接收到的任何......
  • 深度讲解React Props
    一、props的介绍当React遇到的元素是用户自定义的组件,它会将JSX属性作为单个对象传递给该组件,这个对象称之为“props”。函数声明的组件,会接受一个props形参,获取属性传递......
  • docker 部署code-server
    1.创建一个存放配置的目录mkdir-p~/.config/code-server2.拉取最新codeserver镜像dockerpullcodercom/code-server:latest3.启动容器配置宿主机挂载点do......
  • 深度理解Redux原理并实现一个redux
    Redux的作用是什么Redux的作用在于实现状态传递、状态管理。在这里你可能会说了,如果是状态传递,那我props的传递不也是可以达到这样的效果吗?context上下文方案不也是可以达......
  • Install MySQL wsl2
    ToinstallMySQLonWSL(ie.Ubuntu):OpenyourWSLterminal(ie.Ubuntu).UpdateyourUbuntupackages:sudoaptupdateOncethepackageshaveupdated,install......
  • Rust所有权
    有的语言完全使用手动内存管理,程序员必须负责向分配器归还它们申请的空间,也就是说,必须要有一个free操作对应着一个allocate操作。另一些语言使用自动内存管理系统(俗称GC),它......
  • 二、环境搭建(二)
    在“一”中,对树莓派的基本使用环境进行搭建后,已经可以实现PC通过SSH对树莓派进行远程连接,但在使用命令行安装一些工具的时候,发现出现了无法解析域名的情况;虽然后来发现是因......
  • 彻底搞懂React-hook链表构建原理
    写在前面的小结每一个hook函数都有对应的hook对象保存状态信息useContext是唯一一个不需要添加到hook链表的hook函数只有useEffect、useLayoutEffect以及us......
  • 3.JS
    1.简介JavaScript因为互联网而生,紧随着浏览器的出现而问世1997年7月,ECMAScript1.0发布。1998年6月,ECMAScript2.0版发布。1999年12月,ECMAScript3.0版发布,成为JavaSc......