使用urllib获取网页数据的基本流程
1、定义一个url
2、模拟浏览器向服务器发送请求
3、获取相应页面的源码
4、把源码解码
#使用urllib来获取百度页面的原数据
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')
print(content)
urllib的一个类型和6种方法
一个类型
response是HTTPResponse的类型
6种方法
1、一个一个字节来读
2、n个n个字节来读
3、只读一行
4、一行一行来读直到读完
5、返回url地址
6、返回网页的状态
附加方法:检查response是否有逻辑错误
实例代码:
import urllib.request
url = "http://www.baidu.com"
response = urllib.request.urlopen(url)
#一个类型和六个方法
#print(type(response))
#response是HTTPResponse的类型
#按照一个一个字节来读
"""content = response.read()
print(content)"""
#read(n)表示返回n个字节
"""content = response.read(5)
print(content)"""
#读取一行
"""content = response.readline()
print(content)"""
#一行一行来读直到读完
"""content = response.readlines()
print(content)"""
#返回状态码 如果是200 则说明逻辑没有错误
#print(response.getcode())
#返回url地址
#print(response.geturl())
#获取的是一些状态信息
print(response.getheaders())