使用Python中的urllib.request模块访问互联网

介绍

我们在Python中使用urllib.request模块来访问和打开URL,而URL通常是使用HTTP协议的。

对于初学者来说,使用的界面也非常简单,易于使用和学习。它使用urlopen函数,该函数可以使用各种不同的协议获取各种URL。

一旦开始使用各种功能,您将对我们正在使用的内容有更好的了解。因此,让我们开始吧。

入门

urllib的库与Python一起打包。因此,您不需要单独安装它,但是如果您想将其添加到您的环境中并且还没有,可以使用pip软件包管理器进行安装。

启动您的终端并使用以下代码,

pip install urllib

安装完成后,您可以导入正确的模块并开始编写脚本。

签出urllib.request

我们最常urllib.request用于打开和读取数据或页面的源代码。如果您尝试从API检索数据,这将特别有用。例如,

import urllib.request
request_url = urllib.request.urlopen('https://official−joke−api.appspot.com/random_ten')

上面的代码行将打开笑话api并读取其数据。

假设您要打印其内容,可以使用-

print(request_url.read())

注意-这将以字节格式打印出值。如果需要纯文本,请使用解码功能。

print(request_url.read().decode())

您甚至可以保存来自API的数据,然后稍后使用RegEx解析它以仅获取基本数据。

示例

import urllib.request
data = urllib.request.urlopen('https://official−joke−api.appspot.com/random_ten')
data = data.read().decode()
print(data)
file = open("content.txt", "w+")
file.write(data)
file.close()

–您可以使用各种协议访问URL,包括FTP,HTTPS等。urlopen对所有不同协议的功能完全相同。

发送数据到URL

如果使用的是通用网关接口,则可能需要将数据发送到URL。这与HTTP发出POST请求的方式类似。

您可以使用urllib.request以及urllib.parse模块。

让我们首先导入模块。

示例

import urllib.parse
import urllib.request
url = 'http://www.google.com/cgi-bin/register.cgi'
values = {'name' : 'S Vijay Balaji', language' : 'Python' }
data = urllib.parse.urlencode(values)
data = data.encode('ascii')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as response:
   the_page = response.read()

然后应从提供的URL打印出源代码。

结论

urllib.request考虑到我们可以检索互联网资源并从中获取数据,该模块非常有用。

当从API解析数据或读取网页的源代码以抓取其内容时,它非常有用。

urllib.request用于从各种API提取数据的项目-https://github.com/SVijayB/Steam_WebScraper。

urllib.request模块中还有其他各种功能。如果您好奇并想了解更多信息,可以通过以下网址阅读其官方文档:https://docs.python.org/3/library/urllib.request.html。

猜你喜欢