您当前的位置:首页 > 计算机 > 编程开发 > Python

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

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

有时候需要统计,图片参考等,用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

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

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