推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的图片爬虫程序设计

更新时间:2019-12-20 22:52:52 大小:1M 上传用户:songhuahua查看TA发布的资源 标签:python图片爬虫 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

计算机网络的发展促使了信息的采集、传播的速度和规模达到空前的水平。如何在大数据时代,高效便捷的获取自身需要的个性化数据,则变成一个迫切需要解决的问题。Python语言具备简单易学的特点,其已经成为开发网络爬虫的热门语言。尝试使用Python语言设计网络爬虫,实现对网络图片的自动批量下载,从而为提高个性化数据的获取进行有意义的尝试。


部分文件列表

文件名 大小
基于Python的图片爬虫程序设计.pdf 1M

部分页面预览

(完整内容请下载后查看)
工业技术与职业教育  
第 1 7 第 1 期  
Industrial Technology & Vocational Education  
2019年 3 月  
1
· ·  
基于 Python 的图片爬虫程序设计  
(江苏旅游职业学院,江苏 扬州 225009)  
计算机网络的发展促使了信息的采集、传播的速度和规模达到空前的水平。如何在大数据时代,高效便捷的获取  
自身需要的个性化数据,则变成一个迫切需要解决的问题。Python 语言具备简单易学的特点,其已经成为开发网络爬虫的热  
门语言。尝试使用 Python 语言设计网络爬虫,实现对网络图片的自动批量下载,从而为提高个性化数据的获取进行有意义的  
尝试。  
关键词 Python 数据 络爬虫 片下载  
中图分类号 TP311.1  
文献标识码 : B  
文章编号 1674-943X(2019)01-0001-03  
TheꢀProgramꢀDesignꢀofꢀPhotoꢀCrawlerꢀBasedꢀonꢀPython  
QIU Ming  
(Jiangsu Institute of Tourism and Hospitality, Yangzhou 225009, China)  
Abstract: The development of computer network has promoted the speed and scale of information collection and dissemination  
to an unprecedented level. How to acquire the personalized data efficiently and conveniently becomes an urgent problem in the big  
data era. Python language is simple and easy to learn. It has become a popular language for developing web crawlers. This paper  
attempts to use Python language to design web crawler, so as to realize the automatic batch download of network pictures, so as to  
improve the acquisition of personalized data for a meaningful attempt.  
Keyꢀwords:python; big data; web crawler; picture download  
要从网络上浏览下载一些玉器图片作为设计参考之用,  
如果每页点击下载会十分的繁琐,所以可以使用网络  
爬虫来自动批量下载图片,从而提高学习效率。  
0
概述  
截 至 2018 年 6 月, 我 国 网 民 规 模 为 8.02 亿,  
上半年新增网民 2 968 万人2017 年末增加 3.8%,  
互联网普及率达 57.7% [1]。人们已经习惯从网络中  
获取自己所需要的信息。同时随着大数据时代的到  
来,人们对于信息获取也呈现不同的个性化需求,  
传统的搜索引擎已经不能满足个人的需要。为了在  
海量的信息数据中获取自身需要的个性化数据,网  
络爬虫在实际生活中应用得越来越广泛。  
1
图片爬虫的程序设计  
1.1 编程环境  
Windows7 操 作 系 统,Python3.6.5,IDE :  
Pychram。  
1.2 程序开发思路  
目前,很多静态图片网站都是二层结构,即  
网络爬虫是一种按照一定规则、自动提取 web 网  
页的应用程序或脚本。它是搜索引擎抓取数据系统的  
重要组成部分 [2]。网络爬虫通过模仿浏览器对网页的  
URL 地址访问的方式进行,用户不需要人工操作即可  
自动的获取所需要的数据 [3]。在网络爬虫的开发过程  
中,Python 语言由于其简洁、直接、易用的特点,逐渐  
成为网络爬虫开发的主要语言。在众多的开发语言中,  
Python 已经名列前茅,国内众多高校、中学也已经开设  
了 Python 的课程 [4]。Python 的核心是简洁晰,  
它是一种既面向过程也支持面向对象的解释性编程语  
言,它是动态类型化的,无需声明变量类型。Python  
便于对大规模数据进行操作与分析,对掌握其他语言  
的程序员及初学者比较友好 [5]。由于江苏旅游职业学院  
有玉器制作专业,该专业的学生在日常实践中经常需  
首页为各个图片页的索引 ( 如图 1 所示 ),点击后  
进入具体的图片展示页面(如图 2 所示本次爬  
虫的设计思路 :于图片的索引页的网址比较有规  
律,比如本次下载的图片网址(httpꢀ//www.ivsky.  
com/tupian/yuqi_t5382/index1.html), 各索引页的  
网址就是最后一部分有所变化,所以可以批量生  
成所有的索引页(即使不能批量生成,也可以网  
页解析来获得索引页地址在索引页中通过使用  
Beautifulsoup 库来获得各个图片的具体展示页面的网  
址,继续在具体展示页面中再次使用 Beautifulsoup  
库获得图片的具体网址,并将所有的图片网址存于  
一个列表最后通过 Requests 从列表中一一  
下载图从而实现自动批量下。Python 方  
收稿日期 2018 - 11 - 09  
作者简介 仇 明(1981 - 男,江苏扬州人 , 硕士 , 副教授,主研究方向为计算机网络、网络安全。  
2
工业技术与职业教育  
第 17 卷  
· ·  
import requests  
便的第三方库进行使用,本次程序的流程就是使用  
Beautifulsoup 库来分析网页链接、图片链接,在使用  
Requests 库进行页面的访问、文件的下载。在图片的  
批量下载中,当然网站会设定一定的反爬虫技术,此  
时可以通过添加 headers、设置代理服务器等方法来  
进行下载。本次图片爬虫程序的流程图如图 3 所示。  
import time  
import random  
from bs4 import BeautifulSoup  
2.2 构建图片索引页地址  
由于图片的索引页网址有一定的规律,可以直  
接构建图片的网址并存于列表中。  
indexpage=[]  
for i in range(1,23)ꢀ  
indexpage.append("httpꢀ//www.ivsky.com/  
tupian/yuqi_t5382/index_"+str(i)+".html")  
2.3 构建 Requests 的 headers  
现 在 网 络 普 遍 有 反 爬 虫 机 制, 所 以 必 须 在  
requests 中必须加上请求头。  
图 1 某网站玉器图片索引页  
UserAgent1="Mozilla/5.0 (Windows NT 6.1;  
WOW64) AppleWebKit/537.36 (KHTML, like  
Gecko) Chrome/63.0.3239.132 Safari/537.36"  
headers={"User-Agent"ꢀUserAgent1}  
2.4 通过 imgpageurl 函数获得索引页中所有图片  
的具体展示页面的网址  
def imgpageurl(indexpageurl)ꢀ  
res=requests.get(indexpageurl,headers)  
res=res.text  
图 2 各个玉器图片的具体展示页  
soup=BeautifulSoup(res,'html.parser')  
a=soup.find(class_="pli").find_all('a')  
imgpage=[]  
for i in aꢀ  
imgpage.append(i.attrs['href'])  
per_imgpageurl=[]  
y=len(imgpage)  
int(y)  
# 由于通过 BeautifulSoup 获得的地址有重  
复,所以进行筛选  
for i in range(0,y,2)ꢀ  
per_imgpageurl.append("httpꢀ//www.  
ivsky.com"+imgpage[i])  
return per_imgpageurl  
2.5 通过 img_down_url 函数在图片的展示页中获  
得图片的实际网址  
图 3 图片爬虫程序的流程图  
def img_down_url(pageurl)ꢀ  
res=requests.get(pageurl)  
res.encoding="utf-8"  
2
图片爬虫具体实现  
2.1 导入程序中所用到的第三方库  
res=res.text  
#codingꢀutf-8  
soup=BeautifulSoup(res,'html.parser')  

全部评论(0)

暂无评论