基本信息
源码名称:python下载百度图片示例源码
源码大小:1.83KB
文件格式:.py
开发语言:Python
更新时间:2019-07-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

需在baidu.py 同级目录 创建一个img文件夹 用于保存文件

import requests
import re
import time
from urllib import parse

name = "崩坏3"  # 搜索的关键字
name_url = {'word': name}
name_word = parse.urlencode(name_url)  # 编码转换
y = 0  # 页数计数,从0开始依次加60,百度的3页为这里的一页
i = 1  # 文件计数
# 模仿浏览器
headers = {
    'Accept': 'text/html,application/xhtml xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
}
while True:
    url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&sid=&'   name_word   '&pn='   str(y)
    print('第'   str(int(y / 60))   '页')
    data = requests.get(url, headers=headers).text  # 获取页面数据
    url_img = re.findall('"objURL":".*?",', data)
    # 遍历图片url
    for s in url_img:
        img_url = s.lstrip('"objURL":"').rstrip('",')
        img_fi = s.lstrip('"objURL":"').rstrip('",')[-4:]  # 获取拓展名
        img_name = img_url.split('/')[-1].rstrip(img_fi)
        img_le = img_fi[-4]
        if img_le == ".":  # 筛选数据
            try:  # 异常处理
                img = requests.get(img_url, headers=headers).content
                # 保存图片
                with open('img/'   img_name   img_fi, 'wb') as f:
                    f.write(img)
                    print("图片"   img_name   ' 第'   str(i)   '张'   " 地址:"   img_url)
                    time.sleep(1)
                    i = i   1
            except:
                print('访问链接出错')
    y = y   60