前面是拼接以及爬取的过程,因为较长就省略了,前面有for循环,所以字典有缩进,从字典取值开始,前面还有个urls列表,
现在的问题:爬取时,因为视频名称不能变换,所以总是把爬取到的视频覆盖掉,导致最后只有一个视频
问:如何把名字也带上
dic={
'name':video_name,
'url':video_true_url
}
urls.append(dic['url'])
name_list=dic['name']
async def get_video_data(url):
print('开始下载',name_list,'...')
async with aiohttp.ClientSession() as session:
async with await session.get(url,headers=headers) as response:
data=await response.read()
with open(name_list,'wb') as fp:
fp.write(data)
print(name_list,'下载成功!')
stasks=[]
for url in urls:
c=get_video_data(url)
task=asyncio.ensure_future(c)
stasks.append(task)
loop=asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(stasks))