二.BeautifulSoup多线程下载百思不得姐图片
来源:互联网 发布:天猫好还是淘宝好 编辑:程序博客网 时间:2024/05/17 02:43
#coding:utf-8import requestsfrom requests.exceptions import HTTPError, ConnectionErrorimport threadingfrom bs4 import BeautifulSoupimport reimport os,timeimport Queueclass get_Url(): def __init__(self,num): self.num=num self.headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'} self.url='http://www.budejie.com/pic/{}' self.url_all=[] def get_pic(self): for i in range(1,self.num): try: rq=requests.get(self.url.format(i),headers=self.headers,timeout=5) pt = r'data-original="(\w.+?\.\w+)" title=' url_list= re.findall(re.compile(pt),rq.text) for url in url_list: self.url_all.append(url) except HTTPError as e: print e except ConnectionError as e: print e return self.url_allclass ThreadUrl(threading.Thread): def __init__(self, queue): threading.Thread.__init__(self) self.queue = queue self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0", } self.workpath='E:\\os\\baisi_mp4' def run(self): while not self.queue.empty(): url_name = self.queue.get() print u'正在下载%s'%url_name name=os.path.basename(url_name) with open(self.workpath+'\\'+name,'wb') as ps: ps.write(requests.get(url_name,headers=self.headers).content) self.queue.task_done()def main(): queue=Queue.Queue() p=get_Url(10).get_pic() for i in p: queue.put(i) for t in range(10): t=ThreadUrl(queue) t.setDaemon(True) t.start() queue.join()if __name__=='__main__': start = time.time() main() print("spend Time: %s" % (time.time() - start))
阅读全文
2 0
- 二.BeautifulSoup多线程下载百思不得姐图片
- 百思不得姐之图片处理(保存与下载)
- 百思不得姐框架(二)
- BeautifulSoup下载给定URL里的图片(二)
- 下载图片-使用beautifulSoup模块
- 《百思不得姐》
- 百思不得姐
- 百思不得姐项目详细知识点(二)
- 用python写网络爬虫-下载百思不得姐视频
- 仿QQ空间,百思不得姐下拉刷新图片放大
- android Bitmap内存优化(二) 多线程下载图片
- BeautifulSoup下载给定URL里的图片(一)
- 百思不得姐项目学习总结
- 02-百思不得姐(第二天)
- 03-百思不得姐(第三天)
- 04-百思不得姐(第四天)
- 02百思不得姐设置TabBar
- 03百思不得姐appearance使用
- iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)
- 笔试题目
- DistBelief 框架下的并行随机梯度下降法
- Git Submodule简单使用
- Java解析XML
- 二.BeautifulSoup多线程下载百思不得姐图片
- MySQL触发器使用详解
- 大前端之路
- HDU
- 查看jvm内存使用情况
- 利用navicat创建存储过程、触发器和使用游标的简单实例
- LeetCode-447. Number of Boomerangs (Java)
- 【备忘】2017北京黑马17期JavaEE基础+就业班全套含解压密码
- PAT (Advanced Level) Practise 1105 Spiral Matrix (25)