python爬虫小试实例--爬取网页图片并下载

一、python安装

在python的官网下载python版本,需要下载对应版本(在计算机-属性中查看自己是32位操作系统还是64位操作系统),我是64位的,就下载64位对应的安装包了(如下图:Windows x86-64 executable installer)。

官网下载地址如下:

https://www.python.org/downloads/release/python-360/python爬虫小试实例--爬取网页图片并下载_第1张图片

二、爬取百度贴吧页面图,主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片。

1获取网页html文本内容;

2分析html中图片的html标签特征,用正则解析出所有的图片url链接列表

方法一urllib+re实现

#!/usr/bin/python # coding:utf-8 # 实现一个简单的爬虫,爬取百度贴吧图片
 import urllib import re # 根据url获取网页html内容
 def getHtmlContent(url): page = urllib.urlopen(url) return page.read()
 # 从html中解析出所有jpg图片的url # 百度贴吧html中jpg图片的url格式为: 
def getJPGs(html): # 解析jpg图片url的正则 
jpgReg = re.compile(r'
 jpgs = re.findall(jpgReg,html) return jpgs # 用图片url下载图片并保存成制定文件名
 def downloadJPG(imgUrl,fileName): urllib.urlretrieve(imgUrl,fileName) # 批量下载图片,默认保存到当前目录下 
def batchDownloadJPGs(imgUrls,path = './'): # 用于给图片命名 
count = 1 for url in imgUrls: downloadJPG(url,''.join([path,'{0}.jpg'.format(count)])) count = count + 1 # 封装:从百度贴吧网页下载图片 
def download(url): html = getHtmlContent(url) jpgs = getJPGs(html) batchDownloadJPGs(jpgs) def main(): url = 'http://tieba.baidu.com/p/2256306796' download(url) if __name__ == '__main__':
main()

爬取结果:python爬虫小试实例--爬取网页图片并下载_第2张图片

运行上面脚本,过几秒种之后完成下载,可以在当前目录下看到图片已经下载好了

方法二、 requests + re实现

#coding:utf-8  #爬取百度贴吧图片 
 import urllib2
 import urllib
 import re #打开贴吧的html url="http://tieba.baidu.com/p/3825973883"
 response=urllib2.urlopen(url)
 html=response.read() #提取其中所有的图片url(使用正则) 
reg=r'src="(http://imgsrc.*?\.jpg)"' imgre=re.compile(reg) imlist=re.findall(reg,html) #下载图片到本地 cnt=1 for imurl in imlist: print cnt print imurl urllib.urlretrieve(imurl,"%s.jpg"%cnt); 
cnt+=1




你可能感兴趣的:(python爬虫小试实例--爬取网页图片并下载)