Python爬取网页图片03
来源:互联网 发布:淘宝小二几点上班 编辑:程序博客网 时间:2024/06/05 05:27
#!/usr/bin/env python2.7# coding:utf-8import re,sys,urllib,requests,osdef get_onepage_urls(onepageurl): ''' 获取当前页面所有图片的url 和 下一页的url ''' if not onepageurl: print '已经是最后一页!' return [],'' try: html = requests.get(onepageurl).text except Exception as e: print e pic_urls = [] next_url = '' return pic_urls,next_url pic_urls = re.findall('"objURL":"(.*?)",', html, re.S) next_urls = re.findall(re.compile(r'<a href="(.*)" class="n">下一页</a>'), html, flags=0) next_url = 'http://image.baidu.com' + next_urls[0] if next_urls else '' return pic_urls,next_url def down_pic(pic_urls): ''' 通过图片链接列表,下载所有的图片 ''' path="images" if(os.path.exists(path)==False): os.makedirs(path) for i,pic_url in enumerate(pic_urls): try: pic = requests.get(pic_url,timeout = 15) string =path+"/"+str(i + 1) + '.jpg' with open(string,'wb') as f: f.write(pic.content) print '成功下载第 %s 张图片 :%s' % (str(i+1),str(pic_url)) except Exception as e: print '下载第 %s 张图片时失败:%s' % (str(i+1),str(pic_url)) print e continueif __name__ == '__main__': keyword = '蓝天' #你想输入的关键词 url_init_first = r'http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1497491098685_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word= ' url_init = url_init_first + urllib.quote(keyword,safe='/') all_pic_urls = [] onepage_urls,next_url = get_onepage_urls(url_init) all_pic_urls.extend(onepage_urls) next_count = 0 #初始化翻页数 while 1: onepage_urls,next_url = get_onepage_urls(next_url) next_count += 1 print '第 %s页' % next_count if next_url == '' and onepage_urls == []: break all_pic_urls.extend(onepage_urls) down_pic(list(set(all_pic_urls)))
阅读全文
0 0
- Python爬取网页图片03
- python爬取网页图片
- python爬取网页图片
- Python爬取网页图片
- Python爬取网页图片
- Python 爬取网页图片
- Python 网页爬取图片
- 用python 爬取网页图片
- Python爬取一个网页的图片
- Python入门-爬取网页图片
- 使用Python爬取网页图片
- 利用python爬取网页图片
- Python爬取一个网页的图片
- Python爬取网页图片01
- Python爬取网页图片02
- 爬取网页图片
- 爬取网页图片
- python爬取网页
- JVM(8)Tomcat类加载器架构
- myeclipes的各种中文乱码问题总结
- 虚拟机 Centos 设定固定IP
- NOIP2015 Day1
- banana-pi M3的linux的编译和体验
- Python爬取网页图片03
- 数据结构与算法之二分查找
- js checkbox 获取表格一行中的多个值 传递多个值
- ucUncaught TypeError: window.showModalDialog is not a function关于showModalDialog停用的问题
- Nginx,uWSGI,Django 运行环境部署
- 浅谈自定义头文件可能导致的重定义问题
- Ma下Android Studio关于gradle 下载更新的问题
- 树莓派更改软件源
- NOIP模拟(20171026)T2 做运动