python url解码详解

  • python url解码

    url是数据的一个部分,一般会用来做什么呢?比如网站的 URL,比如搜索引擎中的 url,再比如网页中的图片等。 你也许不知道,在 Web页面中的图片、链接、超链接都是 URL,也就是 url。 而如果想要读取 URL,我们就需要将它解码出来,然后才能把它读出。现在网上有很多教程都可以教你如何解码 url。但事实上,在实际开发过程中,我们并不需要了解所有的代码知识。我们只需要知道一些基本知识就可以了。

    • 一、 url的含义

      在上面的图片中,我们可以看到,其实 url只是一个指向网页的地址,但是这个地址并不是一个网页,而是一个网页的链接。 为什么 url是一个网页链接呢?这要从 url的含义说起。 url (网址)是 HTTP协议的一部分, URL (URLs)是 HTTP协议中使用的一种结构化数据,在 HTTP协议中, URL用来指定服务器的位置和地址,可以告诉浏览器从哪个页面读取这个信息。我们可以从以下两个方面理解 url: 首先,我们可以在浏览器中查看 URL。这时你会发现你所访问的 Web页面在 URL中已经给出了这个 URL。 其次,我们还可以通过调用网页上的代码来获取 url。这时,这个 url就是由我们在浏览器中找到并调用的网页代码生成的。 接下来,我们将使用 Python中的一个函数来解码 url。它会将 url转换为文本格式(text)并输出到一个文本文件中。

    • 二、解码流程

      现在,我们已经了解了 url的基本知识,那么接下来,我们就可以开始解码 url了。 首先,我们需要将 url的原始内容进行读取,也就是把它转换成字符串。所谓字符串,就是一个字符组合。比如上面的代码中,我们已经把 url转换成了字符串。 接下来,我们需要根据内容的不同来进行分类。比如图片可以分为 JPG和 PNG两种格式,而超链接则可以分为 HTML和 XML两种格式。 对于 JPG格式的图片来说,它是由三个部分组成的: 其中一个是图片本身,还有一个是图片上面的文字内容,还有一个是图片下面的说明文字。如果我们把这三部分分别单独地提取出来进行解码的话,那么对于 JPG格式的图片来说,我们就可以对它进行解码了。 对于 HTML格式的超链接来说,它包括两个部分: 其中一个部分是超链接本身,另外一个部分是超链接下面的描述文字。我们只需要把这两个部分分别提取出来就可以了。 其中第一个和第三个是两个独立的文本内容。 第二个则是超链接到下面的描述文字。也就是说,当我们在文本内容中提取出了超链接时,我们就可以对它进行解码了。 因为在很多情况下,我们在输入 URL时可能会将不同格式的文本内容同时输入进来。所以如果我们要对每一种文本进行解码的话,那么就需要一个函数来完成这些操作。 当我们有了函数之后,接下来就可以进行实际应用了。首先,我们可以先通过输出结果来确定一个大概范围;其次可以使用函数来对 url中的关键字进行提取;最后可以使用函数来对文本内容进行解码。

    • 三、代码实现

      虽然上面的代码没有什么问题,但我们仍然需要自己实现一个完整的 url解码程序,这个代码在网上也有很多教程可以参考。 在上面的代码中,我们首先引入了一个新的对象: data. add ();然后我们将 url数据放入这个对象中,并返回了一个数值。当我们在浏览器中输入 url地址时,浏览器就会把这个数值转换成字符串。字符串的长度是由我们设置的。如果想要让字符串更长一些,我们可以将它设置成字符串的两倍。 接下来,我们把这些字符串放入 data. add ()对象中,并将其输出中。但是需要注意的是,输出中不能包含空格、下划线等特殊符号,因为这些符号可能会导致输出结果不正确。另外,如果你想要输出结果更丰富一些的话,你可以在上面的代码中增加一些特殊的数据类型。 最后,你可以通过编写一个测试程序来验证一下效果如何。

    • 四、小结

      最后我们来总结一下这节课的内容。 首先,我们先要明确一个概念: url就是网址,但是它并不是一个文件,而是一个 URL。 其次,我们需要了解一下 url的结构: 接下来,我们要知道的是,在 url中有很多不同的类型,比如URL_Type、URL_Types ype等等。如果你对它们之间的区别不了解,那么可能会出错。 接下来,我们要了解一下什么是 dll文件。 dll文件是一些可以在运行时加载的动态链接库,这些库的内容可以被安装在 Windows系统的设备上。因此,在实际开发过程中,我们通常都会使用 dll文件。 如果你想要把这些数据都读取出来,那么你就需要先对它们进行解码。 接着,我们要知道一个事实:如果你想读取一个文件中所有的文本数据(比如一段话、一段文字、一张图片等等),那么你就需要使用不同的方法去解码这些文本数据。因此我们需要学习如何使用各种不同的方法来读取这些文本数据。 接下来就让我们一起开始吧!

    • 五、参考资料

      1.《Python网络爬虫》 2.《网络爬虫实战:从入门到精通》

  • 常用的python url解码代码 :

  • 1. 使用urllib库的unquote方法进行url解码:
    ```python
    import urllib
    url = "https://www.example.com/?q=%E6%9D%8E%E5%9B%9B"
    decoded_url = urllib.parse.unquote(url)
    print(decoded_url)
    ```
    输出结果为:https://www.example.com/?q=李四
    2. 使用requests库的unquote方法进行url解码:
    ```python
    import requests
    url = "https://www.example.com/?q=%E6%9D%8E%E5%9B%9B"
    decoded_url = requests.utils.unquote(url)
    print(decoded_url)
    ```
    输出结果为:https://www.example.com/?q=李四
    3. 使用urllib.parse.unquote_plus方法进行url解码,该方法会将空格解码为加号:
    ```python
    import urllib.parse
    url = "https://www.example.com/?q=%E6%9D%8E%E5%9B%9B+%E5%8A%A0%E5%8A%A0"
    decoded_url = urllib.parse.unquote_plus(url)
    print(decoded_url)
    ```
    输出结果为:https://www.example.com/?q=李四+加加

猜你喜欢

转载自blog.csdn.net/qq_42751978/article/details/129930883