2025年6月4日 星期三 乙巳(蛇)年 三月初八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python爬虫爬取京东图片(python小白笔记七)

时间:08-23来源:作者:点击数:46

有时候需要统计,图片参考等,用python爬虫。爬下来的图片再存储到本地,同时把文件的名称取出一下。同时,python真是个有趣的东西,欢迎一起交流学习。

代码如下:

我的只是提取第一页,同时把图片保存到D盘下边,把图片的原来的名称页提取出来存放到本地文件

  • #https://www.jd.com/
  • #https://search.jd.com/Search?keyword=iphone%E5%90%88%E7%BA%A6%E6%9C%BA&enc=utf-8&wq=iphone%E5%90%88%E7%BA%A6%E6%9C%BA&pvid=9585617222944822b7039b975c89c7f1
  • #https://search.jd.com/Search?keyword=iphone%E5%90%88%E7%BA%A6%E6%9C%BA&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=iphone%E5%90%88%E7%BA%A6%E6%9C%BA&page=3&s=53&click=0
  • #https://search.jd.com/Search?keyword=iphone%E5%90%88%E7%BA%A6%E6%9C%BA&enc=utf-8&wq=iphone%E5%90%88%E7%BA%A6%E6%9C%BA&page=1 3
  • """
  • http://list.jd.com/list.html?cat=9987,653,655
  • http://list.jd.com/list.html?cat=9987,653,655&page=2
  • <div id = "plist"
  • class ="goods-list-v2 J-goods-list gl-type-3 " >
  • <div class ="page clearfix" >
  • """
  • import re
  • import urllib.request
  • def craw(url,page):
  • html1=urllib.request.urlopen(url).read()
  • # fhandle = open('D:/爬虫/抓取文件/'+"jingdong1106"+str(page)+".html", "wb")
  • # fhandle.write(html1)
  • # fhandle.close()
  • html1=str(html1)
  • pat1='<div id="plist".+? <div class="page clearfix">'
  • result1=re.compile(pat1).findall(html1)
  • result1=str(result1)
  • #result1=result1[0]
  • pat2 = '<img width="220" height="220" data-img="1" src="//(.+?\.jpg)">'
  • # pat3 = '<img width="220" height="220" data-img="1" data-lazy-img="done" src="//(.+?\.jpg)">'
  • pat4 = '<img width="220" height="220" data-img="1" data-lazy-img="//(.+?\.jpg)">'
  • imagelist=re.compile(pat2).findall(result1)
  • # imagelist3 = re.compile(pat3).findall(result1)
  • imagelist4 = re.compile(pat4).findall(result1)
  • # imagelist=imagelist+imagelist3+imagelist4 #pat2 和pat3是一样的,去掉其中一个数量还是不变
  • imagelist = imagelist + imagelist4 # pat2 和pat3是一样的,去掉其中一个数量还是不变
  • x=1
  • end = "/"
  • for imageurl in imagelist:
  • try:
  • string2 = imageurl[imageurl.rfind(end):] # 在imageurl中查找最后一个正斜杠/后面的字符,图片名称
  • pat2 = '/(.+?\.jpg)' # 提取最后一个斜杠到 .jpg后缀名称
  • imagelist2 = re.compile(pat2).findall(string2)
  • imagelist2 = str(imagelist2[0]) # 提取第一个名称 ,去掉正斜杠
  • imagename = "D:/爬虫/抓取文件/imge2/" + imagelist2
  • imageurl = "http://" + imageurl
  • print(imagename)
  • urllib.request.urlretrieve(imageurl,filename=imagename)
  • except urllib.request.URLError as e:
  • if hasattr(e,"code"):
  • x+=1
  • if hasattr(e,"reason"):
  • x+=1
  • x+=1
  • def catchnameAndPrice(url,page):
  • html1 = urllib.request.urlopen(url).read()
  • html1 = str(html1)
  • pat1 = '<div id="plist".+? <div class="page clearfix">'
  • result1 = re.compile(pat1).findall(html1)
  • result1 = str(result1)
  • # result1=result1[0]
  • pat2 = '<em>.+? </em>'
  • imagelist=re.compile(pat2).findall(result1)
  • for imageurl in imagelist:
  • print(imageurl)
  • pat1 = '<em>\\n(.+?\.</em>)'
  • result2 = re.compile(pat1).findall(imageurl)
  • result1 = str(result2)
  • print(result1)
  • for i in range(1,2):
  • url = 'https://list.jd.com/list.html?cat=9987,653,655&page='+str(i)
  • craw(url,i)
  • #catchnameAndPrice(url,i)

运行结果:

  • D:\工具\pythonTools\CatchTest1101\venv\Scripts\python.exe D:/工具/pythonTools/CatchTest1101/venv/test/jingdong.py
  • D:/爬虫/抓取文件/imge2/5b0fcb56N90ae22f0.jpg
  • D:/爬虫/抓取文件/imge2/5b0fbbf1N777371a5.jpg
  • D:/爬虫/抓取文件/imge2/5ad87390N086a3c91.jpg
  • D:/爬虫/抓取文件/imge2/59df2e7fN86c99a27.jpg
  • D:/爬虫/抓取文件/imge2/970adadd473ff485.jpg
  • D:/爬虫/抓取文件/imge2/59b85847N20776d8e.jpg
  • D:/爬虫/抓取文件/imge2/5b13cd6cN8e12d4aa.jpg
  • D:/爬虫/抓取文件/imge2/5a1d1e2dN6ba9aac4.jpg
  • D:/爬虫/抓取文件/imge2/e242e3e39ec95d66.jpg
  • D:/爬虫/抓取文件/imge2/5af13917Naca6cb3d.jpg
  • D:/爬虫/抓取文件/imge2/5b21ce25N131ce626.jpg
  • D:/爬虫/抓取文件/imge2/45ab3dd6c35d981b.jpg
  • D:/爬虫/抓取文件/imge2/5bbf1fc9N3ced3749.jpg
  • D:/爬虫/抓取文件/imge2/5b4edfdcN5a7d6faf.jpg
  • D:/爬虫/抓取文件/imge2/57e4a35bN230918c0.jpg
  • D:/爬虫/抓取文件/imge2/5b3c2d1eNc2695eed.jpg
  • D:/爬虫/抓取文件/imge2/5ac1f20cN7196beba.jpg
  • D:/爬虫/抓取文件/imge2/59dc6704N7c82222c.jpg
  • D:/爬虫/抓取文件/imge2/5a4339e9N0a682ca1.jpg
  • D:/爬虫/抓取文件/imge2/5b5705a1N6a12c28c.jpg
  • D:/爬虫/抓取文件/imge2/5adca3deN76bb61cb.jpg
  • D:/爬虫/抓取文件/imge2/59e5bdf4Nb6b9904a.jpg
  • D:/爬虫/抓取文件/imge2/5bbc6e6fN5216f959.jpg
  • D:/爬虫/抓取文件/imge2/5b4ee1a1Nb44ade36.jpg
  • D:/爬虫/抓取文件/imge2/5acc5248N6a5f81cd.jpg
  • D:/爬虫/抓取文件/imge2/5b582689N83c9c7c7.jpg
  • D:/爬虫/抓取文件/imge2/5abc8d2dNa4cc5eac.jpg
  • D:/爬虫/抓取文件/imge2/5bbac3c5N8b0bd22b.jpg
  • D:/爬虫/抓取文件/imge2/5b4ee328Ne725d6fc.jpg
  • D:/爬虫/抓取文件/imge2/5b17a2ceN24d043fc.jpg
  • D:/爬虫/抓取文件/imge2/a2c208410ae84d1f.jpg
  • D:/爬虫/抓取文件/imge2/5ac1eae4Nce7c8b00.jpg
  • D:/爬虫/抓取文件/imge2/5a28b64cN5583735a.jpg
  • D:/爬虫/抓取文件/imge2/5ab25955Ned1a1c02.jpg
  • D:/爬虫/抓取文件/imge2/5bc06426Nc4199ba0.jpg
  • D:/爬虫/抓取文件/imge2/5b478f4aNb1f2d6bd.jpg
  • D:/爬虫/抓取文件/imge2/5afc0ae1N4f34d0fc.jpg
  • D:/爬虫/抓取文件/imge2/5bbdaff1N91aa8a23.jpg
  • D:/爬虫/抓取文件/imge2/5a01503cN19d7f1a0.jpg
  • D:/爬虫/抓取文件/imge2/5ab8dca1Na927adf6.jpg
  • D:/爬虫/抓取文件/imge2/59ded53fNb2197f67.jpg
  • D:/爬虫/抓取文件/imge2/5bbf1d23N3a4d87c5.jpg
  • D:/爬虫/抓取文件/imge2/5b0517ccN295c6fdb.jpg
  • D:/爬虫/抓取文件/imge2/5b6018c5N6f80495e.jpg
  • D:/爬虫/抓取文件/imge2/578738d1N00bcde3e.jpg
  • D:/爬虫/抓取文件/imge2/5959ab7fN154e56b4.jpg
  • D:/爬虫/抓取文件/imge2/5ab9e7a8Nbc37a260.jpg
  • D:/爬虫/抓取文件/imge2/934ebb6f3f60e2e6.jpg
  • D:/爬虫/抓取文件/imge2/5bbc6efaNeb227f0b.jpg
  • D:/爬虫/抓取文件/imge2/5ab9b769Na77a8dac.jpg
  • D:/爬虫/抓取文件/imge2/5b503be1Nc9134fc8.jpg
  • D:/爬虫/抓取文件/imge2/f65e4f8f6c052a59.jpg
  • D:/爬虫/抓取文件/imge2/5bc87058N2f29bca6.jpg
  • D:/爬虫/抓取文件/imge2/584fcc3eNdb0ab94c.jpg
  • D:/爬虫/抓取文件/imge2/5b4aadd7N44c12d2d.jpg
  • D:/爬虫/抓取文件/imge2/5ad996c2N27e8816d.jpg
  • D:/爬虫/抓取文件/imge2/57d11b6cN1fd1194d.jpg
  • D:/爬虫/抓取文件/imge2/5b681275Nc5761208.jpg
  • D:/爬虫/抓取文件/imge2/5bc6e3aaNdec7f959.jpg
  • Process finished with exit code 0

抓取到的图片保存到本地截图

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门