python 爬取百度图片

学习了python总要拿点东西练练手,爬个东西玩玩吧.参考了一篇文章,地址找不到了,就把注释加一下吧

import requests
#正则  参考https://docs.python.org/zh-cn/3/library/re.html
import re
#操作 https://docs.python.org/zh-cn/3/library/os.html?highlight=os#module-os
import os

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'}
name = input('您要爬取什么图片')
num = 0
x = input('您要爬取几张呢?,输入1等于60张图片。')
for i in range(int(x)):
    # 下载到本地图片的位置
    name_1 = 'C:\\Users\\Administrator\\Desktop\\pic\\'
    # 根据百度图片url发现可以将输入的种类拼接得到对应图片集
    url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+name+'&pn='+str(i*30)
    res = requests.get(url,headers=headers)
    print(res)
    htlm_1 = res.content.decode()
    # 正则匹配解析后的html  注意:这里也可以用python解析html的BeautifulSoup4工具或者pyquery等进行匹配
    a =re.findall('"objURL":"(.*?)",',htlm_1)
    # 如果没有文件夹就创建
    if not os.path.exists(name_1):
        os.makedirs(name_1)
    # 循环写到本地
    for b in a:
        num = num +1
        try:
            img = requests.get(b)
        except Exception as e:
            print('第'+str(num)+'张图片无法下载------------')
            print(str(e))
            continue
        f = open(name_1+name+str(num)+'.jpg','ab')
        print('---------正在下载第'+str(num)+'张图片----------')
        f.write(img.content)
        f.close()
print('下载完成')

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值