博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python多线程下载网页图片并保存至特定目录
阅读量:5241 次
发布时间:2019-06-14

本文共 1801 字,大约阅读时间需要 6 分钟。

#!python3#multidownloadXkcd.py  - Download XKCD comics using multiple threads.import requestsimport bs4import osimport threading# os.mkdir('xkcd', exist_ok=True)     # store comics in ./xkcdif os.path.exists('xkcd'):    print("xkcd is existed!")else:    os.mkdir('xkcd')def downloadXkcd(startComic, endComic):    for urlNumber in range(startComic, endComic):        #Download the page        print("Downloading page http://xkcd.com/%s..." % urlNumber)        res = requests.get('http://xkcd.com/%s' % urlNumber)        res.raise_for_status()        print(res.text)        soup = bs4.BeautifulSoup(res.text)        #Find the URL of the comic image.        comicElem = soup.select('#comic img')        if comicElem == []:            print('Could not find comic images.')        else:            comicUrl = comicElem[0].get('src')        #     #Download the image.        #     print('Downloading image %s...' % (comicUrl))        #     res = requests.get(comicUrl)        #     res.raise_for_status()        #        #     # Save the image to ./xkcd        #     imageFile = open(os.path.join('xkcd', os.path.basename(comicUrl)), 'wb')        #     for chunk in res.iter_content(100000):        #         imageFile.write(chunk)        #     imageFile.close()downloadThread = threading.Thread(target=downloadXkcd(555, 557))downloadThread.start()# # TODO: Create and start the thread objects# downloadThreads = []        # a list of all the Thread objects# for i in range(500, 600, 10):#     downloadThread = threading.Thread(target=downloadXkcd, args=(i, i+9))#     downloadThreads.append(downloadThread)#     downloadThread.start()## # TODO: Wait for all threads to end# for downloadThread in downloadThreads:#     downloadThread.join()# print("Done.")

  

转载于:https://www.cnblogs.com/noxy/p/8076439.html

你可能感兴趣的文章
三维变换概述
查看>>
[8.08考试] 隔膜
查看>>
Python 中 open()文件操作的方式
查看>>
Android开发高手课 - 02 崩溃优化(下):应用崩溃了,你应该如何去分析?
查看>>
jenkins:忘记登录密码怎么办
查看>>
nodejs的事件驱动机制与传统webserver的多线程处理机制对比
查看>>
基于JQuery实现表单元素值的回写
查看>>
jmap命令
查看>>
jQuery插件之ajaxFileUpload
查看>>
第三次作业
查看>>
Python的classmethod和staticmethod区别
查看>>
Ubuntu12.04 英文环境下使用ibus输入中文并自动启动输入法
查看>>
SpringMVC 拦截器HandlerInterceptor(一)
查看>>
mvc知识应用
查看>>
数据结构之排序三:插入排序
查看>>
Class.forName(),classloader.loadclass用法详解
查看>>
团队任务3:每日立会(2018-10-25)
查看>>
创业记录0
查看>>
python pandas tensorflow使用总结
查看>>
UnityAssetExplorer + PowerVRTexTool
查看>>