最近有小伙伴留言说自己平时比较喜欢保存百度上的图片,但是每次都一张一张的下载比较麻烦,想写代码自动下载;对于这个功能的实现的话,其实还是比较简单的。接下来蜜蜂就在代码中用正则实现这一需求。

1.首先,百度图片都需要用关键字搜索,比如说下图搜索”小姐姐“,就会看到很多小姐姐的图片。

python代码实现输入关键字下载图片_下载图片

2.代码部分:

import os
import re
import requests
def baidupicture(word):
    url=f'https://m.baidu.com/sf/vsearch?pd=image_content&word={word}&tn=vsearch&atn=page'
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
        'Cookie':'BDqhfp=%E5%B0%8F%E5%A7%90%E5%A7%90%26%260-10-1undefined%26%260%26%261; BIDUPSID=680B89F9F6914A18770178BAFCED412F; PSTM=1688803242; BAIDUID=680B89F9F6914A18575A634C59D57C50:FG=1; BDUSS=IycE42NVJiTzExZkFqVmFQTzVKMk84cjhFa1JrVWp3OGtHbDRQMnRMaW00djlrSVFBQUFBJCQAAAAAAAAAAAEAAADSV~-5xKe7vVN0X25ubQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZV2GSmVdhkTk; BDUSS_BFESS=IycE42NVJiTzExZkFqVmFQTzVKMk84cjhFa1JrVWp3OGtHbDRQMnRMaW00djlrSVFBQUFBJCQAAAAAAAAAAAEAAADSV~-5xKe7vVN0X25ubQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZV2GSmVdhkTk; MCITY=-340%3A; H_WISE_SIDS=39636_39648_39670_39664_39676_39678_39709_39713_39737_39759_39779_39785_39704_39685_39661_39818; ZFY=UmJBMigMHhmvCkioqvggpd2FK6ag:AD6FyfQQJrjvhJc:C; H_WISE_SIDS_BFESS=39636_39648_39670_39664_39676_39678_39709_39713_39737_39759_39779_39785_39704_39685_39661_39818; BAIDUID_BFESS=680B89F9F6914A18575A634C59D57C50:FG=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; RT="z=1&dm=baidu.com&si=c34f2b07-1ba6-4637-ab46-a0ab66c352f8&ss=lpjrk43o&sl=4&tt=cce&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=jn66&ul=joyi&hd=jp2a"; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; PSINO=6; delPer=0; H_PS_PSSID=39676_39678_39709_39713_39737_39759_39779_39785_39704_39685_39661_39818_39841; BA_HECTOR=0l0kag0l218k01840ha480ah1imjjup1q; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; userFrom=www.baidu.com; firstShowTip=1; indexPageSugList=%5B%22%E5%B0%8F%E5%A7%90%E5%A7%90%22%2C%22%E8%8B%B1%E8%AF%AD%E5%9B%BE%E6%96%87%E8%AF%8D%E5%85%B8%22%2C%22%E5%90%84%E7%A7%8D%E8%8B%B1%E6%B1%89%E5%9C%A8%E7%BA%BF%E8%AF%8D%E5%85%B8%E7%9A%84%E5%9B%BE%E6%A0%87%22%5D; cleanHistoryStatus=0; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; ab_sr=1.0.1_YjhmNTE1ZThmOWQ1ZTkyN2IzNTc5MmJhNDczMjU2OTI0YjU4OGUyOTBkNzRkMTY5NTA3OTAwYzY0NzQ0ZjZlMmJjNDgwZGFkNmM4Mzc3ZTM2MjFlZmRhNjY2NzkyZjBlZmEwZTFiODUxZjhiNGQ0OGE0NGJmNGVhOTg0ZGQ3Yzk4NDFhZjRkYzRiOWU1ZDI5YjljNWNlMzJlM2JmOTk1Yw==; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm'
    }
    resp=requests.get(url,headers=headers).content.decode('utf-8')
    result=re.findall('"thumburl":"(https://.*?)"',resp)
    N=1
    for i in result:
        img_code=requests.get(i,headers=headers).content
        if not os.path.exists(word):
            os.mkdir(word)
        with open(f'{word}/{N}.jpeg',"wb") as f:
            f.write(img_code)
        print(i)
        N +=1
if __name__ == '__main__':
    word=input("请输入关键字:")
    baidupicture(word)

3.运行效果:

python代码实现输入关键字下载图片_关键字_02

图片:

python代码实现输入关键字下载图片_下载图片_03

4.同理,我们在运行的时候输入其他关键字也是一样的,如”漂亮的星空“

运行效果:

python代码实现输入关键字下载图片_爬虫_04

图片:

python代码实现输入关键字下载图片_爬虫_05