爬取某图片网站多页图片的python爬虫
来源:互联网 发布:游戏策划笔试 知乎 编辑:程序博客网 时间:2024/06/06 19:44
# coding=utf-8import requestsimport refrom lxml import etreeimport timeimport sysreload(sys)sys.setdefaultencoding("utf-8") #定义一个爬虫class spider(object): def __init__(self): print u'开始爬取内容。。。' #getsource用来获取网页源代码 def getsource(self,url): html = requests.get(url) return html.text #changepage用来生产不同页数的链接 def changepage(self,url,total_page): now_page = int(re.search('index_(\d+)',url,re.S).group(1)) #可修改 page_group = [] for i in range(now_page,total_page+1): link = re.sub('index_\d+','index_%s'%i,url,re.S) #可修改 page_group.append(link) return page_group #getpic用来爬取一个网页图片 def getpic(self,source): selector = etree.HTML(source) pic_url = selector.xpath('//ul[@class="ali"]/li/div/a/img/@src') #可修改 return pic_url #savepic用来保存结果到pic文件夹中 def savepic(self,pic_url): picname=re.findall('(\d+)',link,re.S) #可修改 picnamestr = ''.join(picname) i=0 for each in pic_url: print 'now downloading:' + each pic = requests.get(each) fp = open('pic\\'+picnamestr +'-'+str(i)+ '.jpg', 'wb') fp.write(pic.content) fp.close() i += 1 #ppic集合类的方法 def ppic(self, link): print u'正在处理页面:' + link html = picspider.getsource(link) pic_url = picspider.getpic(html) picspider.savepic(pic_url) time1=time.time()if __name__ == '__main__': url = 'http://www.ivsky.com/tupian/ziranfengguang/index_1.html' #可修改 picspider = spider() all_links = picspider.changepage(url,3) #可修改 for link in all_links: picspider.ppic(link)time2=time.time()print u'耗时:'+str(time2-time1)
0 0
- 爬取某图片网站多页图片的python爬虫
- python爬虫网站图片
- python 爬虫下载网站图片
- python 爬虫某网站图片
- Python爬虫——爬取网站的图片
- Python爬虫下载网站上的图片到本地
- python小爬虫—抓取pixabay网站的图片资源
- python学习总结----爬虫爬一个网站的图片
- python实现虎扑网站图片爬虫
- python 实现网站图片抓取小爬虫
- 【Python】爬虫入门--抓取网站图片
- python爬虫爬取网站图片
- 爬虫:实现网站的全部图片抓取
- 爬虫-爬取网站上的图片
- Python3爬虫爬取某网站美女图片
- python多线程图片爬虫
- python爬虫抓取图片
- python实现图片爬虫
- vector 的使用
- 【javascript】 的严格模式 详解
- shell多线程编程
- c++构造函数详解
- 【leetcode】75. Sort ColorsD
- 爬取某图片网站多页图片的python爬虫
- R373 (Div 2)
- Android程序员必备-数据结构与算法之冒泡排序
- JavaScript对象--学习总结3
- ADF(UI)--<af:table>在使用分页是如何固定高度
- [LeetCode-258]Add Digits(java)
- html5中旋转块级元素的简单小方法
- Struts2学习二(Struts2的常用功能)
- Apizza 最好用的API管理,调试,文档工具