爬取某图片网站多页图片的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 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
3 몇 주 전
By DDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
2 몇 주 전
By DDD
어 ass 신 크리드 섀도우 - 대장장이를 찾고 무기 및 갑옷 커스터마 화 잠금 해제 방법
1 몇 달 전
By DDD
Atomfall에서 크레인 제어 키 카드를 찾을 수 있습니다
3 몇 주 전
By DDD
<s> : 데드 레일 - 모든 도전을 완료하는 방법
3 몇 주 전
By DDD

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7642
15


Cakephp 튜토리얼
1392
52


Steam의 계정 이름 형식은 무엇입니까?
90
11


Win11 활성화 키 영구
72
19


NYT 연결 힌트와 답변
33
150

