python实现批量图片的抓取
2016-02-25 17:34
639 查看
前言:因为想要翻译外文,但是外文的图片资源太多,身为一个程序员,怎么可以干重复性这么高的工作呢,因此,学习了python的网络爬虫,爬了所有我想要获得的图片资源。值得一提的是,程序员是有多饥渴,网上到处都是爬妹子照片的,像我一样只单纯爬照片的人已经不多了。哼!!!
主要的知识点就是用的python 的BeautifulSoup框架,这个需要大家再装过,还有就是一些自带的框架,字符编码可能会出错,因此开始时就要声明是utf-8编码
代码如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
__author__ = 'JQQ'
import urllib2
import urllib
import re
import os
from BeautifulSoup import BeautifulSoup
class Spider:
def __init__(self):
self.url = 'http://www.raywenderlich.com/113674/ios-animation-tutorial-getting-started'
#获取网页内容
def getPageContent(self):
response = urllib2.urlopen(self.url)
return response.read()
def getImages(self):
soup = BeautifulSoup(self.getPageContent())
items = soup.findAll('img')
index = 1
pathName = "iOSAnimationTutorial"
self.mkdir(pathName)
for item in items:
imageUrl = item.get('src')
fTail = imageUrl.split('.').pop()
if cmp(fTail, 'jpg') == 0 or cmp(fTail, 'png') == 0:
savePath = pathName + '/' + str(index) + '.' + fTail
self.saveImage(imageUrl, savePath)
index = index + 1
def saveImage(self, imageUrl, fileNamePath):
try:
u = urllib.urlopen(imageUrl)
data = u.read()
f = open(fileNamePath, "wb")
f.write(data)
f.close()
except BaseException, e:
print e
def mkdir(self, path):
path = path.strip()
isExist = os.path.exists(path)
if not isExist:
print "Not exist path:", path
os.makedirs(path)
return True
else:
print "Already Exist path:", path
return False
spider = Spider()
spider.getImages()
主要的知识点就是用的python 的BeautifulSoup框架,这个需要大家再装过,还有就是一些自带的框架,字符编码可能会出错,因此开始时就要声明是utf-8编码
代码如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
__author__ = 'JQQ'
import urllib2
import urllib
import re
import os
from BeautifulSoup import BeautifulSoup
class Spider:
def __init__(self):
self.url = 'http://www.raywenderlich.com/113674/ios-animation-tutorial-getting-started'
#获取网页内容
def getPageContent(self):
response = urllib2.urlopen(self.url)
return response.read()
def getImages(self):
soup = BeautifulSoup(self.getPageContent())
items = soup.findAll('img')
index = 1
pathName = "iOSAnimationTutorial"
self.mkdir(pathName)
for item in items:
imageUrl = item.get('src')
fTail = imageUrl.split('.').pop()
if cmp(fTail, 'jpg') == 0 or cmp(fTail, 'png') == 0:
savePath = pathName + '/' + str(index) + '.' + fTail
self.saveImage(imageUrl, savePath)
index = index + 1
def saveImage(self, imageUrl, fileNamePath):
try:
u = urllib.urlopen(imageUrl)
data = u.read()
f = open(fileNamePath, "wb")
f.write(data)
f.close()
except BaseException, e:
print e
def mkdir(self, path):
path = path.strip()
isExist = os.path.exists(path)
if not isExist:
print "Not exist path:", path
os.makedirs(path)
return True
else:
print "Already Exist path:", path
return False
spider = Spider()
spider.getImages()
相关文章推荐
- idapython让生活变得更美好:第五部分
- idapython让生活变得更美好:第四部分
- idapython让生活变得更美好:第二部分
- idapython让生活变得更美好:第三部分(条件断点)
- idapython让生活变得更美好:第一部分
- python实战第一天-pymysql模块并练习
- Python代码优化及技巧笔记(一)
- Python代码优化及技巧笔记(一)
- python2.7实现备份
- python语言特性(三)
- python:使用ftplib编写FTP客户端
- Mac+Sublime3+Python
- python time函数
- Python入门教程
- python学习笔记七--数据操作符
- Python——内建异常体系结构
- python:split与join
- python根据nagios配置文件将监控的服务联系人等信息导出到excel表格
- Python数据分析Python库介绍(1)
- Python 多线程