我们在Python中使用urllib.request模块来访问和打开URL,而URL通常是使用HTTP协议的。
对于初学者来说,使用的界面也非常简单,易于使用和学习。它使用urlopen函数,该函数可以使用各种不同的协议获取各种URL。
一旦开始使用各种功能,您将对我们正在使用的内容有更好的了解。因此,让我们开始吧。
该urllib的库与Python一起打包。因此,您不需要单独安装它,但是如果您想将其添加到您的环境中并且还没有,可以使用pip软件包管理器进行安装。
启动您的终端并使用以下代码,
pip install urllib
安装完成后,您可以导入正确的模块并开始编写脚本。
我们最常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。这与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。