#导包,发起请求使用urllib库的request请求模块 import urllib.request # urlopen()向URL发请求,返回响应对象,注意url必须完整 response=urllib.request.urlopen('http://www.baidu.com/') print(response)上述代码会返回百度首页的响应对象, 其中 urlopen() 表示打开一个网页地址。注意:请求的 url 必须带有 http 或者 https 传输协议。
<http.client.HTTPResponse object at 0x032F0F90>上述代码也有另外一种导包方式,也就是使用 from,代码如下所示:
#发起请求使用urllib库的request请求模块 from urllib import request response=request.urlopen('http://www.baidu.com/') print(response)
#提取响应内容 html = response.read().decode('utf-8') #打印响应内容 print(html)输出结果如下,由于篇幅过长,此处只做了简单显示:
<!DOCTYPE html><!--STATUS OK--> <html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta content="always" name="referrer"><meta name="theme-color" content="#2932e1"><meta name="description" content="全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到...">...</html>通过调用 response 响应对象的 read() 方法提取 HTML 信息,该方法返回的结果是字节串类型(bytes),因此需要使用 decode() 转换为字符串。程序完整的代码程序如下:
import urllib.request # urlopen()向URL发请求,返回响应对象 response=urllib.request.urlopen('http://www.baidu.com/') # 提取响应内容 html = response.read().decode('utf-8') # 打印响应内容 print(html)通过上述代码获取了百度首页的 html 信息,这是最简单、最初级的爬虫程序。后续我们还学习如何分析网页结构、解析网页数据,以及存储数据等。
urllib.request.urlopen(url,timeout)urlopen() 有两个参数,说明如下:
urllib.request.Request(url,headers)参数说明如下:
bytes = response.read() # read()返回结果为 bytes 数据类型 string = response.read().decode() # decode()将字节串转换为 string 类型 url = response.geturl() # 返回响应对象的URL地址 code = response.getcode() # 返回请求时的HTTP响应码
#字符串转换为字节码 string.encode("utf-8") #字节码转换为字符串 bytes.decode("utf-8")
本文链接:http://task.lmcjl.com/news/18096.html