Requests
1.
o 发送请求
o 传递URL参数
o 读取响应内容(文本/二进制/Json)
o 定制请求头部
o Post请求
o 响应状态码
o 重定向和历史
o 超时
2. 处理二进制内容导入包
#抓取图片
from PIL import Image
#处理二进制内容
from io import BytesIO
3. 图片处理
1) #二进制数据
r=requests.get('http://img.mshishang.com/pics/2016/1209/20161209125708793.jpeg')
image=Image.open(BytesIO(r.content))
image.save('shauige.jpg')
2) #原始数据处理,还是处理图片的例子,利用流处理,效率高
r=requests.get('http://img.mshishang.com/pics/2016/1209/20161209125708793.jpeg',stream= True)
#w表示写,b表示二进制,+表示原来有的话删除掉
while open('shuaige2.jpg','wb+') as f:
for chunk inr.iter_content(1024):
f.write(chunk)
4. 提交表单and cookies and 重定向
#提交表单
form={'username':'user','password':'pass'}
r=requests.get('http://httpbin.org/post',data=form)
print(r.text)
r=requests.post('http://httpbin.org/post',data=json.dumps)
print(r.text)
#cookie
url='http://www.baidu.com'
r=requests.get(url)
cookies=r.cookies
for k, v in cookies.get_dict().items():
print(k,v)
5. Beautiful soup
soup=Beautifulsoup(open(url))