Python批量抓取图片
发布时间:2020-05-25 00:50:08 所属栏目:Python 来源:互联网
导读:Python批量抓取图片
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 # -*- coding:utf-8 -*-
# coding=UTF-8
import os,urllib,urllib2,re
url = u"http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=index&fr=&sf=1&fmq=&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=python&oq=python&rsp=-1"
outpath = "t:"
def getHtml(url):
webfile = urllib.urlopen(url)
outhtml = webfile.read()
print outhtml
return outhtml
def getImageList(html):
restr=ur'('
restr+=ur'http://[^s,"]*.jpg'
restr+=ur'|http://[^s,"]*.jpeg'
restr+=ur'|http://[^s,"]*.png'
restr+=ur'|http://[^s,"]*.gif'
restr+=ur'|http://[^s,"]*.bmp'
restr+=ur'|https://[^s,"]*.jpeg'
restr+=ur'|https://[^s,"]*.jpeg'
restr+=ur'|https://[^s,"]*.png'
restr+=ur'|https://[^s,"]*.gif'
restr+=ur'|https://[^s,"]*.bmp'
restr+=ur')'
htmlurl = re.compile(restr)
imgList = re.findall(htmlurl,html)
print imgList
return imgList
def download(imgList,page):
x = 1
for imgurl in imgList:
filepathname=str(outpath+'pic_%09d_%010d'%(page,x)+str(os.path.splitext(urllib2.unquote(imgurl).decode('utf8').split('/')[-1])[1])).lower()
print '[Debug] Download file :'+ imgurl+' >> '+filepathname
urllib.urlretrieve(imgurl,filepathname)
x+=1
def downImageNum(pagenum):
page = 1
pageNumber = pagenum
while(page <= pageNumber):
html = getHtml(url)#获得url指向的html内容
imageList = getImageList(html)#获得所有图片的地址,返回列表
download(imageList,page)#下载所有的图片
page = page+1
if __name__ == '__main__':
downImageNum(1)
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
