爬虫界的小可爱


爬虫的分类:
通用爬虫(用于浏览器) ,聚焦爬虫(用于中小企业)

爬虫的流程
# ①确定目标的url
# ②发起请求  接受响应
# ③根据字段 提取数据
# ④目标数据做持久化的存储
# import urllib.request
#import ssl
# urlopen(url,目标的url
# data = None,get请求的默认为None,POST的需要设置参数
# timeout = socket._GLOBAL_DEFAULT_TIMEOUT 响应的时间
# cafile = None 设置证件文件的地方
# capath = None 设置证书路径的地方

# context = None 设置参数,那就忽略ssl
# url 是http 的请求不需要设置 如果是 https需要设置

#如果ssl 错误的话 导入import ssl 证书处理

#context =ssl._create_unverrified_context()#不去认证

# url = 'https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=%E6%95%B0%E6%8D%AE%E5%A0%82'
# respone = urllib.request.urlopen(url)
# print(respone.read())
# print(respone.read().decode('utf-8'))
#decode :转码 讲其他类型的编码,转换成unicode编码
#encode :编码,是将unicode类型编码,转为其他编码
#响应状态
# print(respone.status)
#print(respone.getheaders())
#获取某一个响应头的信息
# print(respone.getheader('Content-Type'))
# url 带有中文的解决方法
#import urllib.parse
#q = '中文'
#q = urllib.parse.urlencode(query = 字典)



opener的用法:
用于添加ip代理器以及cookie
#opener与urlopen 相同 都是发起请求, opener中可以加入处理器
# urlopen不可以,urlopen只写好的模板,而opener需要重新定义


# import urllib.request
# import ssl
# url = 'https://www.baidu.com'
# try:
#     a = urllib.request.Request(url)
#     context = ssl._create_unverified_context()
# except error.HTTPError as err:
# print('HTTPError')

异常:
#URLError url错误,要么没连不上服务器 父类,意思是对方服务器得不到响应,就是个错误的url
#HTTPError 对方服务器能响应你的请求 子类  路径后面的没有响应到

你可能感兴趣的:(爬虫界的小可爱)