python爬虫之urllib库常用方法用法总结大全

1. urllib库概述

urllib是Python中一个用于处理URL的标准库,它提供了一系列的方法,可以用于发送HTTP请求、处理URL编码等操作。在Python爬虫中,urllib库是最常用的库之一,可以用于获取网页内容、下载文件、处理表单提交等。本文将介绍urllib库中最常用的方法。

2. urllib常用方法

2.1 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

该方法用于打开一个URL地址,并返回一个类似文件的对象,可以使用read()方法获取网页内容。

import urllib.request

url = "http://www.example.com"

response = urllib.request.urlopen(url)

html = response.read()

print(html)

重要部分:

response = urllib.request.urlopen(url)

html = response.read()

在上述代码中,使用urlopen()方法打开URL地址,并将返回的对象赋值给response。然后使用read()方法将网页内容读取出来,并赋值给html变量。

2.2 urllib.parse.urlencode(query, doseq=False, [safe, encoding, errors])

该方法用于将一个字典或者元组列表形式的查询参数,转换成URL编码的字符串。尤其适用于表单提交时需要将参数转换成URL编码的情况。

import urllib.parse

data = {"username": "admin", "password": "123456"}

encoded_data = urllib.parse.urlencode(data)

print(encoded_data)

重要部分:

encoded_data = urllib.parse.urlencode(data)

print(encoded_data)

在上述代码中,使用urlencode()方法将data字典中的键值对转换成URL编码的字符串,并将结果赋值给encoded_data变量。

2.3 urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)

该方法用于下载文件,将指定的URL地址的文件保存到本地。可以指定保存的文件名、下载进度回调函数等。

import urllib.request

url = "http://www.example.com/sample.jpg"

filename = "sample.jpg"

urllib.request.urlretrieve(url, filename)

print("下载完成")

重要部分:

urllib.request.urlretrieve(url, filename)

在上述代码中,使用urlretrieve()方法将指定的URL地址的文件保存到本地,并指定保存的文件名为sample.jpg

2.4 urllib.parse.urljoin(base, url, [allow_fragments])

该方法用于拼接URL地址,将相对路径和基地址拼接成一个完整的URL地址。

import urllib.parse

base = "http://www.example.com"

url = "/page.html"

full_url = urllib.parse.urljoin(base, url)

print(full_url)

重要部分:

full_url = urllib.parse.urljoin(base, url)

print(full_url)

在上述代码中,使用urljoin()方法将相对路径/page.html和基地址http://www.example.com拼接成一个完整的URL地址,并将结果赋值给full_url变量。

后端开发标签