Python爬虫 urllib学习之基本使用

1.Urllib简介

Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理。

本文主要介绍 Python3 的 urllib

urllib 包 包含以下几个模块:

urllib.request - 打开和读取 URL。
urllib.error - 包含 urllib.request 抛出的异常。
urllib.parse - 解析 URL。

Python爬虫 urllib学习之基本使用_第1张图片

2.urllib简单使用

使用urllib进行爬取首先需要导入urllib

import urllib.request

接着需要一个真实存在的URL,以百度网址为例,使用的是http协议

url = 'http://www.baidu.com'

模拟浏览器向服务器发送请求,并接受服务器的响应

response = urllib.request.urlopen(url)

接着获取响应中的页面源码

# read  返回字节形式的二进制数据
# 将二进制的数据转变为字符串 解码 decode(编码格式)
content = response.read().decode('utf-8')

打印源码

# 4. 打印源码
print(content)

Python爬虫 urllib学习之基本使用_第2张图片
源码

import urllib.request

# 1. 定义一个url
url = 'http://www.baidu.com'

# 2. 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)

# 3. 获取响应中的页面源码
# read  返回字节形式的二进制数据
# 将二进制的数据转变为字符串 解码 decode(编码格式)
content = response.read().decode('utf-8')

# 4. 打印源码
print(content)

3.urllib的几个方法

首先向服务器发送请求,并接收响应

import urllib.request

url = 'http://www.baidu.com'

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)

类型 HTTPResponse

可以使用type获取response类型

print(type(response))
# 

方法一: read()

使用 read()可以按照字节读取响应的数据

print(response.read())

Python爬虫 urllib学习之基本使用_第3张图片
返回的是字节类型的 可以进行编码response.read().decode('utf-8')

方法二:readlines()

使用readlines()可以实现按行读取,但是不可以使用decode()

content = response.readlines()
print(content)

Python爬虫 urllib学习之基本使用_第4张图片

方法三:getcode()

使用getcode()获取响应的状态码

print(response.getcode())

Python爬虫 urllib学习之基本使用_第5张图片

方法四:geturl()

print(response.geturl())

Python爬虫 urllib学习之基本使用_第6张图片

方法五:getheaders()

使用getheaders()可以获取响应头信息。

print(response.getheaders())

Python爬虫 urllib学习之基本使用_第7张图片

4. 下载

调用urlretrieve(url, filename)可以下载资源

import urllib.request

url = 'http://www.baidu.com'

# url下载路径 filename文件名
urllib.request.urlretrieve(url, 'baidu.html')

Python爬虫 urllib学习之基本使用_第8张图片

你可能感兴趣的:(python,python,爬虫,学习)