Python3 爬虫之urllib库的使用

废话不多说直接上代码,感兴趣的小伙伴,可以打开注释测试哦。

import urllib.request

url = 'http://www.baidu.com/'
response = urllib.request.urlopen(url=url) #第一个参数是要打开的url 第二个是data表示post请求时 使用的
# print(type(response))  #返回的是一个HTTPResponse对象
# print(response.read())   #读取了所有网页的内容 包括换行符和制表符,获取的二进制数据
# print(response.read().decode('utf-8')) #解码后进行输出  #字符串-》字节:编码  encode()  字节-》字符串:解码  decode()
# print(response.readline())  #读取一行
# print(response.readlines())  #读取全部返回一个列表
# print(response.getheaders())  #返回一个响应头信息,列表里面有元组
# urllib.request.urlretrieve(url=url,filename='baidu.html') #将文件下载到本地并命名,可以下载网页 图片 视频等
# urllib.parse #处理url的urllib.parse.urlencode 介绍post请求的时候再说这个函数
#为什么要编码,因为浏览器并不能识别你请求里面的中文字符
# 编码
# string = urllib.parse.quote('http://www.baidu.com?username=狗蛋&password=123')
# print(string)
#解码
# string = urllib.parse.unquote('http%3A//www.baidu.com%3Fusername%3D%E7%8B%97%E8%9B%8B%26password%3D123')
# print(string)
在来个稍微复杂一点点的,告诉你怎么忽略SSL证书进行访问。

import urllib.request
#忽略ssl证书
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

url = 'http://www.baidu.com'
headers = {
    'User-Agent':'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-US) AppleWebKit/530.9 (KHTML, like Gecko) Chrome/ Safari/530.9 '
}
#构建一个请求
# repuest = urllib.request.Request(url=url,headers=headers)
# 第二种方式
repuest = urllib.request.Request(url=url)
repuest.add_header('User-Agent','Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-US) AppleWebKit/530.9 (KHTML, like Gecko) Chrome/ Safari/530.9 ')
#发送请求,还是使用urlopen方法,将请求写入到第一个参数中即可
reponse = urllib.request.urlopen(repuest)
print(reponse.read().decode('utf8'))
#https://www.baidu.com/s?wd=%E7%88%AC%E8%99%AB = https://www.baidu.com/s?wd=爬虫  其实就是百度搜索爬虫,打开这个网址便知道了

你可能感兴趣的:(Python3 爬虫之urllib库的使用)