Python爬虫之路——简单的网页抓图
转载自我自己的博客:http://www.mylonly.com/archives/1401.html
用Python的urllib2库和HTMLParser库写了一个简单的抓图脚本,主要抓的是http://desk.zol.com.cn/meinv/这个链接下的图片,通过得到图集的起始URL地址,得到第一张图片,然后不断的去获取其下一个图片的URL,继而得到所有首页的图集的图片。
整个源码如下,比较简单,写这个只是简单的练手而已
#coding: utf-8 #############################################################
# File Name: girls.py
# Author: mylonly
# mail: mylonly@gmail.com
# Created Time: Mon 09 Jun 2014 09:23:18 PM CST
#########################################################################
#!/usr/bin/pythonimport urllib2,HTMLParser,re#根url
host = "http://desk.zol.com.cn"
#本地保存地址
localSavePath = '/data/girls/'
#起始图片html地址
startHtmlUrl = ''
#图片页Html的地址
htmlUrlList = []
#图片Url地址
imageUrlList = []
#根据得到的图片路径URL将图片下载下来保存本地
def downloadImage(url):cont = urllib2.urlopen(url).read()patter = '[0-9]*\.jpg';match = re.search(patter,url);if match:print '正在下载文件:',match.group()filename = localSavePath+match.group()f = open(filename,'w+')f.write(cont)f.close()else:print 'no match'#根据首页得到的图片集遍历每个图片集
def getImageUrlByHtmlUrl(htmlUrl):parser = MyHtmlParse(False)request = urllib2.Request(htmlUrl)try:response = urllib2.urlopen(request)content = response.read()parser.feed(content)except urllib2.URLError,e:print e.reasonclass MyHtmlParse(HTMLParser.HTMLParser):def __init__(self,isIndex):self.isIndex = isIndex;HTMLParser.HTMLParser.__init__(self)def handle_starttag(self,tag,attrs):if(self.isIndex):if(tag == 'a'):if(len(attrs) == 4):if(attrs[0] ==('class','pic')):newUrl = host+attrs[1][1]print '找到一处图片的网页链接:',newUrlglobal startHtmlstartHtmlUrl = newUrlgetImageUrlByHtmlUrl(newUrl)else:if(tag == 'img'):if(attrs[0] == ('id','bigImg')):imageUrl = attrs[1][1]print '找到一张图片:',imageUrldownloadImage(imageUrl)#imageUrlList.append(imageUrl) if (tag == 'a'):if (len(attrs) == 4):if (attrs[1] == ('class','next')):nextUrl = host + attrs[2][1]print '找到一处图片的网页链接:',nextUrlglobal startHtmlUrlif (startHtmlUrl != nextUrl):getImageUrlByHtmlUrl(nextUrl)
#分析首页得到每个图片集的链接
indexUrl = 'http://desk.zol.com.cn/meinv/'
m = urllib2.urlopen(indexUrl).read()
parserIndex = MyHtmlParse(True)
parserIndex.feed(m
Python爬虫之路——简单的网页抓图相关推荐
- 使用Python爬虫爬取简单网页(Python爬虫入门)
今天我们来看一看使用Python爬取一些简单的网页. 所用工具:IDLE (Python 3.6 64-bit) 一. 爬取京东商品页面 我将要爬取的是这个东京商品页面信息,代码如下: import ...
- Python爬虫4.2 — ajax(动态网页数据抓取)用法教程
Python爬虫4.2 - ajax[动态网页数据]用法教程 综述 AJAX 介绍 什么是AJAX 实例说明 请求分析 获取方式 实例说明 其他博文链接 综述 本系列文档用于对Python爬虫技术的学 ...
- Python爬虫:Xpath爬取网页信息(附代码)
Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...
- python爬虫抓取图片-简单的python爬虫教程:批量爬取图片
python编程语言,可以说是新型语言,也是这两年来发展比较快的一种语言,而且不管是少儿还是成年人都可以学习这个新型编程语言,今天南京小码王python培训机构变为大家分享了一个python爬虫教程. ...
- python爬虫之路自学教程_python 爬虫学习之路
2016-6-18 --今天实现了第一个用urllib2实现的爬虫程序. --过程中发现 req = urllib2.Request(url,headers = headers) 总是报错: 主要原因 ...
- Python爬虫系列:判断目标网页编码的几种方法
在爬取网页内容时,了解目标网站所用编码是非常重要的,本文介绍几种常用的方法,并使用几个网站进行简单测试. 代码运行结果: 从不同国家的几个网站测试结果来看,utf8使用的较多(对于纯英文网站,用什么方 ...
- python爬虫概述及简单实践
文章目录 一.先了解用户获取网络数据的方式 二.简单了解网页源代码的组成 1.web基本的编程语言 2.使用浏览器查看网页源代码 三.爬虫概述 1.认识爬虫 2.python爬虫 3.爬虫分类 4.爬 ...
- python爬虫自学1-爬取静态网页-2022-02-10
断断续续学了一旦python的语法,然而一不用就又丢了.没办法就只能找点事来练练手,爬虫似乎比较简单(小白,勿喷),就试试呗. 一.首先说明一下: 时间:2022-02-10,时间关系到网站能否(爬虫 ...
- Python爬虫爬取动态JS网页股票信息
前期准备工作 在本例中使用的是python爬虫需要的两个基础的库,一个是requests库,另一个是BeautifulSoup库.在这里假设已经安装了这两个库,如果没有可以通过pip安装.接下来简单说 ...
最新文章
- 独家 | 教你用不到30行的Keras代码编写第一个神经网络(附代码教程)
- ORACLE 添加删除列脚本
- String[]转化暴露“思维误区”
- 时间戳服务——信息安全(二)
- 全球及中国仪器润滑剂行业十四五竞争形势与投资战略咨询报告2021-2027年版
- python PyQt5 QSlider类(滑块)
- iOS之深入解析Runtime的objc_msgSend“慢速查找”底层原理
- OA项目实战(二) 开发准备
- 卡尔曼滤波器(Kalman Filter) 理解
- php ldap 模块,不重新编译为PHP增加LDAP模块的支持
- 艾媒:ofo活跃用户规模为摩拜近2倍 每10辆共享单车7辆小黄车
- 【转】jquery ui中文说明(使用方法)
- LREC'22 | 机器翻译中细粒度领域自适应的数据集和基准实验
- java8之StringJoiner。终于有像guava类库里的功能了
- 【开源】在线教育系统.net源码-PC端-手机端
- Android MDM 参考资料
- 企业招聘黑名单的9类人,你中枪了么?
- 电脑自动关机后又自动开机怎么办
- 2018-12-22-jekyll-theme-H2O
- Java实现——Dom4j读写XML文件