爬取某图片网站多页图片的python爬虫
1. [代码][Python]代码
# coding=utf-8 import requests import re from lxml import etree import time import sys reload(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/p/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)
登入後複製
登入後複製
2. [文件] picspider.py ~ 2KB
# coding=utf-8 import requests import re from lxml import etree import time import sys reload(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/p/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)
登入後複製
登入後複製
3. [图片] 1.png
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
刺客信條陰影:貝殼謎語解決方案
1 個月前
By DDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
在哪裡可以找到原子中的起重機控制鑰匙卡
1 個月前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)