记录一下爬虫的一些基础代码
1. 连接百度,返回数据
import urllib.request # 导入模块
url2 = "http://www.baidu.com" # 百度地址
req = request.Request(url2) # 得到的是一个Request 对象
with request.urlopen(req) as response: # 在 urlopen()中传入request 对象,返回的是 HTTPResponse
print(response.geturl()) # 返回一个 url 地址
print(response.info()) # 返回的是请求消息头部的信息
# html = fr.read() # getcode() : 得到状态码
# getheaders() 返回头部信息的键值对
2. 下载图片
import urllib.request # 导入模块
import ssl
con = ssl._create_unverified_context() # 表示不验证
with request.urlopen(url3,context=con) as fr: # 在urlopen() 参数里面传入 ssl 的常量,表示不进行验证,否则会报“证书异常”
img = fr.read()
with open('a.jpg','wb') as fw: # 写到非文本数据,必须是二进制,所以需要 'wb'
fw.write(img)
3. 处理标准形式
import urllib.request # 导入模块
url2 = "http://www.baidu.com" # 百度地址
with request.urlopen(url2) as fr: # 标准形式 , 不用关流
# data = fr.read()
print(fr.status,fr.reason) # 返回状态码和对应的结果 -- 200 OK
for k,v in fr.getheaders(): # 返回连接的请求消息头
print("%s %s"%(k,v))
with open("head.txt",'a',) as fw: # 将读取到的文件写到文本中,追加
fw.write(k+str(v)+'\n')