Python:通过输入关键词动态爬取图片保存于本地

利用关键词动态爬取想要的图片

导入相关库

主要是requests库

import re  # 导入正则表达式模块
import requests  # python HTTP客户端 编写爬虫和测试服务器经常用到的模块
import random  # 随机生成一个数,范围[0,1]
import os #创建路径

写爬虫爬取图片函数

def spiderPic(html, keyword):       #html:网页;keyword:关键词
    print('正在查找 ' + keyword + ' 对应的图片,请稍后......')
    for addr in re.findall('"objURL":"(.*?)"', html, re.S):  # 动态查找URL
        print('正在爬取URL地址:' + str(addr)[0:40] + '...')  # 爬取的地址长度超过40时,用'...'代替后面的内容

        try:
            pics = requests.get(addr, timeout=10)  # 请求URL时间(最大10秒)
        except requests.exceptions.ConnectionError:
            print('您当前请求的URL地址出现错误')
            continue

        fq = open('E:\\img\\' + (keyword + '_' + str(random.randrange(0, 1000, 4)) + '.jpg'), 'wb')  # 下载图片,并保存和命名
        fq.write(pics.content)
        fq.close()

主函数

if __name__ == '__main__':
    word = input('请输入你要搜索的图片关键字:')
    result = requests.get(
        # 通过百度引擎搜索关键词链接
        'http://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=' + word)

存放图片文件夹创建

加入判断是否存在该文件目录

path='E:\\img\\';
# 判断路径是否存在
isExists = os.path.exists(path)

### 判断结果
if not isExists:
    # 如果不存在则创建目录
    # 创建目录操作函数
    os.makedirs(path)
    print
    path + '创建成功'

else:
    # 如果目录存在则不创建,并提示目录已存在
    print
    path + ' 目录已存在'

调用函数

spiderPic(result.text, word)

数据展示

我们在输入提示后输入关键词 “风景”并开始爬取图片
在这里插入图片描述
爬取的图片在img文件夹中
源码地址:https://github.com/JackHCC/KeyWord-Crawler

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackHCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值