Requests建立在世界上下载量最大的Python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。
Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。功能非常全面而且使用方便
Requests可以完成您能想到的所有高级工作,例如:
request的安装非常简单,只需要在cmd中输入 pip install requests 进行安装
request的用法很多,这里介绍怎么用request 根据连接同时下载多个图片
from urllib import request
from multiprocessing import Process
def aa(uit):
name=uit.split('/')[-1]
pen=request.urlopen(uit)
q=pen.read()
with open(name,'wb') as f:
f.write(q)
if __name__ == '__main__':
lis=[]
na=['进程1','进程2','进程3']
aaa=['https://img0.baidu.com/it/u=3724865004,3598526800&fm=26&fmt=auto&gp=0.jpg','https://img2.baidu.com/it/u=2598714022,2194647539&fm=26&fmt=auto&gp=0.jpg','https://img1.baidu.com/it/u=2016159045,522593296&fm=15&fmt=auto&gp=0.jpg']
for i in range(0,3):
a=Process(target=aa,name=str(i),args=(aaa[i],))
print(f'{a.name}开始运行了')
a.start()
lis.append(a)
print(lis,)
for a in lis:
a.join()
print('主进程id%s'%os.getpid())
首先先要导入,需要用到的是request和设置多进程的Process模块
from urllib import request
from multiprocessing import Process
然后写一个函数,用来处理得到的网址和下载图片
def aa(uit):
name=uit.split('/')[-1]
pen=request.urlopen(uit)
q=pen.read()
with open(name,'wb') as f:
f.write(q)
首先用split()方法进行分割,用最后一个作为图片的名字
然后体现request的强大之处,用request.urlopen(uit)就可以对目标网址发出get请求,然后收到网站的响应,返回网站给的数据(自动筛选出数据,去掉响应头等只返回相应正文)
使用read()读取返回的数据将他写入文件中
if __name__ == '__main__':
lis=[]
aaa=['https://img0.baidu.com/it/u=3724865004,3598526800&fm=26&fmt=auto&gp=0.jpg','https://img2.baidu.com/it/u=2598714022,2194647539&fm=26&fmt=auto&gp=0.jpg','https://img1.baidu.com/it/u=2016159045,522593296&fm=15&fmt=auto&gp=0.jpg']
for i in range(0,3):
a=Process(target=aa,name=str(i),args=(aaa[i],))
a.start()
lis.append(a)
for a in lis:
a.join()
程序运行时同时运行3个进程一起下载,然后将所有进程都放到一个空的列表中,然后再逐个进行关闭。
下载完再查看下载的目录看看是否下载完成
但是有一些网站会主动屏蔽掉request这个方法,所以现在基本淘汰了这个方法,不过对一些小网站还是可以使用的
3月22日消息 外媒 Winfuture 报道,此前微软面向 Insider 预览用户公布了 Window...
2月23日消息 据外媒 Windows Latest 今日报道,借助 Windows 10 Sun Valley 更新...
1 . 目标 演示下图的git reset 各选项的效果。 2. Git Reset操作说明 图中说明:...
橡皮擦一个逗趣的互联网高级网虫。 观前提醒本篇文章涉及知识点巨大建议先收藏再...
本文实例讲述了正则表达式中的操作符及说明。分享给大家供大家参考,具体如下: ...
Greediness(贪婪型):最大匹配 X、X*、X+、X{n,} 是最大匹配。例如你要用 “....
Go原生就支持连接数据库,所以在使用 Golang 开发时,当需要数据库交互时,即可...
这些日子一直在简书上使用markdown写作,已经渐渐的痴迷于这种简洁纯粹的写作方...
从另一台机器上复制过来的项目,由于两台机器的库目录不一致,导致了stdio.h等很...
ajax 实现三级联动,相当于写了一个小插件,用的时候直接拿过来用就可以了,这里...