importconcurrentimportrequests;fromconcurrent.futuresimportThreadPoolExecutorimportos;importparsel;defsend_request(url):header={"user-agent":'Mozilla/5.0(Macintosh;Intel)MacOSX10_15_5)AppleWebKit/537.36(KHTML,如Gecko)Chrome/69.0.3497.100Safari/537.36'}requests.packages.urllib3.disable_warnings()response=requests.get(url,headers=header)returnrespondefpare_data(data):selector=parsel.Selector(data)result_list=selector.xpath('//a[@class="col-xs-6col-sm-3"]')forresultinresult_list:title=result.xpath('./img/@alt').get()src_url=result.xpath('./img/@data-original').get()all_title=title+'.'+src_url.split('.')[-1]yieldall_title,src_urldefsave_data(file_name,data):dir_name='doutu_list'ifnotos.path.exists(dir_name):os.mkdir(dir_name)withopen(dir_name+'/'+file_name,'wb')asf:f.write(data)print("Savecompleted:",file_name)defmain(page):forpageinrange(1,page+1):print('#########################当前页{}#######################'.format(page))thread_pool=concurrent.futures.ThreadPoolExecutor(max_workers=1)res=send_request('https://www.doutula.com/photo/list/?page={}'.format(str(page)))src_url=pare_data(res.text)文件,urlinsrc_url:print(file)print(url)image_response=send_request(url)thread_pool.submit(save_data,file,image_response.content)thread_pool.shutdown()if__name__=='__main__':main(1)后台管理系统免费使用###紫峰后台管理系统###,可直接在宝塔面板安装欢迎关注公众号:紫峰的精彩世界,获取独家学习资源和每日干货推送如果喜欢的话对其他话题感兴趣,请到我的个人博客:www.wangmingchang.com。
