python 爬取网页中的图片到本地
本文章已收录于:
分类:
作者同类文章
X
版权声明:本文为博主原创文章,未经博主允许不得转载。
最近在学习Python,顺便写一个爬取网页中图片的程序练练手。
主要分为两个过程:
第一,从给定域名的网页中爬取图片的链接
第二,读取链接对应的图片,保存到本地
第一个过程需要导入utllib包,在python2.7环境下使用 import urllib2 即可
在python3.X 之后的版本中,由于没有了urllib2模块,所以导入的是 import urllib.request
在这里,我的环境是 python 2.7
- import urllib2 # 导入urllib2模块
- req = urllib2.urlopen('https://www.nuomi.com/?cid=002540')
- buf = req.read()
import urllib2 # 导入urllib2模块
req = urllib2.urlopen('https://www.nuomi.com/?cid=002540')
buf = req.read()
三行语句即可将网页的源代码输出到buf对象,然后可以用print buf查看网页的内容
- import re # 导入re模块
- listurl = re.findall(r'http:.+\.jpg',buf) #正则表达式,匹配图片格式
- print listurl # 将图片的格式放入list中
import re # 导入re模块
listurl = re.findall(r'http:.+\.jpg',buf) #正则表达式,匹配图片格式
print listurl # 将图片的格式放入list中
之后就是利用正则表达式匹配图片格式的链接,将链接存到list中
最后就是将list中的链接读取出来,将图片保存到本地即可。
源代码:
- import urllib2 # 导入urllib2模块
- req = urllib2.urlopen('https://www.nuomi.com/?cid=002540')
- buf = req.read()
- import re # 导入re模块
- listurl = re.findall(r'http:.+\.jpg',buf) #正则表达式,匹配图片格式
- print listurl # 将图片的格式放入list中
- i = 0
- for url in listurl:
- f = open(str(i)+'.jpg',"wb") #打开文件
- req = urllib2.urlopen(url)
- buf = req.read() #读出文件
- f.write(buf) #写入文件
- i = i + 1 #更改文件名
import urllib2 # 导入urllib2模块
req = urllib2.urlopen('https://www.nuomi.com/?cid=002540')
buf = req.read()
import re # 导入re模块
listurl = re.findall(r'http:.+\.jpg',buf) #正则表达式,匹配图片格式
print listurl # 将图片的格式放入list中
i = 0
for url in listurl:
f = open(str(i)+'.jpg',"wb") #打开文件
req = urllib2.urlopen(url)
buf = req.read() #读出文件
f.write(buf) #写入文件
i = i + 1 #更改文件名
在这里,我爬取的是 百度糯米网上的图片,成功保存到当前目录。