#_*_coding: utf-8-*-
#@time :2020/3/2321:52
#@Author :luoye
#Email :2198629518@qq.com
#Software :PyCharm Community Edition
# 1.urllib爬虫:
import urllib.request
#接受爬取到的信息
#向指定的url地址发起请求并返回服务器响应的数据(文件的对象)
response = urllib.request.urlopen('http://www.baidu.com')
# data = response.read().decode('utf-8')
# 写入文件时dada不是字符串类型,所以不需要使用decode('utf-8')
#01.response.read():读取文件的全部内容,会把读取到的数据赋值给一个字符串变量
data = response.read()
# 02.response.readline()读取一行,要增加一个判断一行一行的读
# data = response.readline()
# 03.response.readlines():读取文件的全部内容,会把读取到的数据赋值给一个列表变量
# data = response.readlines()
print(data)
print(type(data))
print(len(data))
#存储在一个文件里:
with open(r'D:\pyhon_jichu\test_file\file1.html','wb') as f:
f.write(data)
# response属性
# 返回当前环境的基本信息
print(response.info())
#打印返回状态码
print(response.getcode())
# 304:有缓存的意思 500+ 的一般服务器的问题 400+请求相关的问题 300+ 一般是缓存的问题
# if response.getcode() == 200 or response.getcode() == 304 :
# pass
# 返回当前正在爬取的URL地址
print(response.geturl())
url = r"https://www.sogou.com/sgo?query=%E5%87%AF%E5%93%A5%E5%AD%A6%E5%A0%82&hdq=sogou-clse-7221e5c8ec6b08ef-0099&lkx=0&lxod=" \
"0_16_1_-1_0&lxea=11-0-C-8.3.0.9576-3-CN4400-50-0-1-6F4D08878E70B3A16CC3C1E25A49C2FC-60&lxoq=%E5%87%AF%E5%93%A5xueta&ie=utf8"
# 解码
newUrl = urllib.request.unquote(url)
print(newUrl)
# 编码
newUrl2 = urllib.request.quote(newUrl)
print(newUrl2)