Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 -*-"""Created on Sun Sep 13 21:32:25 2020@author: ydc"""import reimport requestsfrom urllib import errorfrom bs4 import BeautifulSoupimport os num = 0numPicture = 0file = ""List = [] def Find(url, A): global List print("正在检测图片总数,请稍等.....") t = 0 i = 1 s = 0 while t < 1000: Url = url + str(t) try: # 这里搞了下 Result = A.get(Url, timeout=7, allow_redirects=False) except BaseException: t = t + 60 continue else: result = Result.text pic_url = re.findall(""objURL":"(.*?)",", result, re.S) # 先利用正则表达式找到图片url s += len(pic_url) if len(pic_url) == 0: break else: List.append(pic_url) t = t + 60 return s def recommend(url): Re = [] try: html = requests.get(url, allow_redirects=False) except error.HTTPError as e: return else: html.encoding = "utf-8" bsObj = BeautifulSoup(html.text, "html.parser") div = bsObj.find("div", id="topRS") if div is not None: listA = div.findAll("a") for i in listA: if i is not None: Re.append(i.get_text()) return Re def dowmloadPicture(html, keyword): global num # t =0 pic_url = re.findall(""objURL":"(.*?)",", html, re.S) # 先利用正则表达式找到图片url print("找到关键词:" + keyword + "的图片,即将开始下载图片...") for each in pic_url: print("正在下载第" + str(num + 1) + "张图片,图片地址:" + str(each)) try: if each is not None: pic = requests.get(each, timeout=7) else: continue except BaseException: print("错误,当前图片无法下载") continue else: string = file + r"\" + keyword + "_" + str(num) + ".jpg" fp = open(string, "wb") fp.write(pic.content) fp.close() num += 1 if num >= numPicture: return if __name__ == "__main__": # 主函数入口 ############################## # 这里加了点 headers = { "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Connection": "keep-alive", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0", "Upgrade-Insecure-Requests": "1" } A = requests.Session() A.headers = headers############################### word = input("请输入搜索关键词(可以是人名,地名等): ") # add = "http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E5%BC%A0%E5%A4%A9%E7%88%B1&pn=120" url = "https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=" + word + "&pn=" # 这里搞了下 tot = Find(url, A) Recommend = recommend(url) # 记录相关推荐 print("经过检测%s类图片共有%d张" % (word, tot)) numPicture = int(input("请输入想要下载的图片数量 ")) file = input("请建立一个存储图片的文件夹,输入文件夹名称即可") y = os.path.exists(file) if y == 1: print("该文件已存在,请重新输入") file = input("请建立一个存储图片的文件夹,)输入文件夹名称即可") os.mkdir(file) else: os.mkdir(file) t = 0 tmp = url while t < numPicture: try: url = tmp + str(t) # 这里搞了下 result = A.get(url, timeout=10, allow_redirects=False) except error.HTTPError as e: print("网络错误,请调整网络后重试") t = t + 60 else: dowmloadPicture(result.text, word) t = t + 60 print("当前搜索结束,感谢使用") print("猜你喜欢") for re in Recommend: print(re, end=" ")

python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片相关推荐

  1. python网络爬虫系列教程_Python网络爬虫系列教程连载 ----长期更新中,敬请关注!...

    感谢大家长期对Python爱好者社区的支持,后期Python爱好者社区推出Python网络爬虫系列教程.欢迎大家关注.以下系列教程大纲,欢迎大家补充.视频长期连载更新中 --------------- ...

  2. python爬取图片的库_16-python爬虫之Requests库爬取海量图片

    Requests 是一个 Python 的 HTTP 客户端库. Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和P ...

  3. python爬虫系列:xpath爬取图片讲解(零基础向)

    系列文章目录 python爬虫系列:BeautifulSoup爬取小说讲解(零基础向)(版权问题下架) python爬虫系列:requests下载酷我音乐讲解(零基础向)(版权问题下架) 文章目录 目 ...

  4. python爬虫系列教程,静谧

    http://cuiqingcai.com/1052.html python爬虫系列教程,静谧

  5. python爬取虎扑评论_python爬虫系列Selenium定向爬取虎扑篮球图片详解

    前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...

  6. 爬虫python对电脑要求_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  7. python 全栈开发,Day137(爬虫系列之第4章-scrapy框架)

    python 全栈开发,Day137(爬虫系列之第4章-scrapy框架) 一.scrapy框架简介 1. 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所 ...

  8. python 全栈开发,Day136(爬虫系列之第3章-Selenium模块)

    python 全栈开发,Day136(爬虫系列之第3章-Selenium模块) 一.Selenium 简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直 ...

  9. 【期末课设】python爬虫基础与可视化,使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载。

    1.大作业的内容 本要求使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载. 2.案例需求 要求采用虚拟浏览器等动态爬虫技术,完 ...

最新文章

  1. picACG本地缓存目录_7天用Go动手写/从零实现分布式缓存GeeCache
  2. TCP连接的建立和终止
  3. 翻译:Single Sign-On for Everyone
  4. linux 普通用户退出vim,Linux环境下VI/VIM编辑文件时无权限保存的解决方法(普通用户)...
  5. 修改Jupyter的工作空间
  6. 前端学习(1858)vue之电商管理系统电商系统之分析登录页面的布局结构
  7. 【计算机组成原理】I/O系统
  8. JEECG 命名规范
  9. linux lockf文件锁存在,进程停止,Linux文件锁学习-flock, lockf, fcntl
  10. linux回到上次目录与历史命令查找快捷方式
  11. oozie 调度pyspark
  12. Oracle OCP和MySQL OCP认证考试内容有哪些?
  13. 天勤数据结构代码——树基本操作
  14. C语言printf输出格式总结
  15. 核酸检测系统的潜在性能问题猜想
  16. 电脑W ndoWs未能启动怎么办,电脑出现windows未能启动怎么办
  17. (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: ‘utf-8‘ c
  18. HCU混和动力控制器,HEV混动串并联 混动车辆
  19. U盘读不出来的解决办法
  20. GO语言-数据结构-队列

热门文章

  1. php 数据钻取,多层钻取 - 海致BDP帮助中心、帮助文档
  2. Java中switch都可以支持哪些数据类型
  3. nginx 的upstream流程是怎样在CONTENT阶段执行的
  4. source insight c++ namespace 无法跳转解决方法
  5. JAVA编写一个telephone_JAVA练习.doc
  6. 谈谈你对计算思维和python生态的理解_计算思维的的理解及重要性
  7. python打开电脑摄像头_Python调用摄像头
  8. 【深度学习】高效读取数据的方法(TFRecord)
  9. 【微信小程序企业级开发教程】视图与渲染详解
  10. python【力扣LeetCode算法题库】面试题 17.16- 按摩师(DP)