作者:untilyouydc
原文:https://blog.csdn.net/qq_40774175/article/details/81273198
原博主解释比较详细,有些知识还附带上了链接解释。类似正则表达式,之类的!

前言,爬取照片的前提条件:

1. 保证默认浏览器打开!
2. 保证网络畅通! 保证网络畅通!

正则表达式:http://www.runoob.com/python/python-reg-expressions.html
准备:
需要安装一些函数依赖关系!

pip install BeautifulSoup
pip install requests
pip install  lxml

CMD控制台就可以安装!

源代码:

import re
import requests
from urllib import error
from bs4 import BeautifulSoup
import osnum = 0
numPicture = 0
file = ''
List = []def Find(url):global Listprint('正在检测图片总数,请稍等.....')t = 0i = 1s = 0while t < 100:Url = url + str(t) + '&gsm=8c'try:Result = requests.get(Url, timeout=7)except BaseException:t = t+60continueelse:result = Result.textpic_url = re.findall('"objURL":"(.*?)",', result, re.S)  # 先利用正则表达式找到图片urls += len(pic_url)if len(pic_url) == 0:breakelse:List.append(pic_url)t = t + 60return sdef recommend(url):Re = []try:html = requests.get(url)except error.HTTPError as e:returnelse: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 Redef dowmloadPicture(html, keyword):global numpic_url = re.findall('"objURL":"(.*?)",', html, re.S)  # 先利用正则表达式找到图片urlprint('找到关键词:' + 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:continueexcept BaseException:print('错误,当前图片无法下载')continueelse:string = file + r'\\' + keyword + '_' + str(num) + '.jpg'fp = open(string, 'wb')fp.write(pic.content)fp.close()num += 1if num >= numPicture:returnif __name__ == '__main__':  # 主函数入口word = input("请输入搜索关键词(可以是人名,地名等): ")url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&ct=201326592&v=flip'tot = Find(url)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 = 0while t < numPicture:try:url = url + str(t) + '&gsm=8c'result = requests.get(url, timeout=10)except error.HTTPError as e:print('网络错误,请调整网络后重试')else:dowmloadPicture(result.text, word)finally:t = t+60print('当前搜索结束,感谢使用')print('猜你喜欢')for re in Recommend:print(re, end='  ')

这里我修改了一些数量,原文无论检测到多少,都会告诉你有1020张。我这里变成2000。就成为2040啦。翻了一倍!
接下来创建目录:


如果不指定保存盘符,则会默认跑到python的安装路径之下!
一开始,我也不知道。还是自己通过CMD命令查找的!

:for /r %i in (*.jpg) do @echo %i
找到之后,复制路径。直接打开,就可以看到这个“999”文件夹啦!
还有个猜你喜欢,真滴皮!哈哈~
OK!

关于有下载照片过程但是不显示照片的问题之一,可能是重名出错误啦!
用中文的“:”不会出错。但是用英文的":"就会出错!
错误,下载但是不显示照片!

用中文的就不会出错误!

python 爬取网页照片!全代码!指定数量,指定目录,爬取过程详细!关于有下载照片过程但是不显示照片的问题的解释相关推荐

  1. selenium爬取网页部分HTML代码

    selenium爬取网页部分HTML代码 1.构造webdriver启动方法 2.保存完整HTML代码 3.保存部分HTML代码,及其他方法 其他方案1:BeautifulSoup 其他方案2:lxm ...

  2. 网络爬虫学习2 - 爬取网页的通用代码框架、HTTP协议、Requests库的各种方法

    网络爬虫MOOC学习打卡 - 第二天 文章目录 网络爬虫MOOC学习打卡 - 第二天 一.爬取网页的通用代码框架 1.理解requests库的异常 2.Respones类提供了一个方法 -- r.ra ...

  3. python爬虫实例方法(批量爬取网页信息基础代码)

    文章目录 前言 一.爬虫实例 0.爬取深圳租房信息 1.爬取深圳算法岗位信息 2.爬取猫图片(基于 selenium库 模拟人自动点击) 3.爬取小说纳兰无敌并生成词云 二.用到的库 1.正则表达式 ...

  4. python怎么做网页制作_[源代码]Python爬取网页制作电子书代码发布

    最近,在GitChat发布一场Chat(Chat地址请猛戳这里),人数当天就达标了,今天把文章完成提交,同时将文章中的代码发布到码云,我就等待大家前来捧场了,Chat地址请猛戳这里. 有人爬取数据分析 ...

  5. 【爬虫】每天定时爬取网页小故事并发送至指定邮箱

    看题目 ,需要实现三部分工作,第一部分为爬取网页小故事,第二部分为发送至指定邮箱,第三部分为定时启动程序.爬取网页内容可以使用BeautifulSoup库实现,发送邮件可以使用smtplib库实现,定 ...

  6. 教你如何爬小说(含全代码)

    在此,我以剑来小说作为例子,你也可以借鉴我的代码爬取其他小说,有助于python爬虫的学习. 好了,进入正题,爬取主要分为8步. 1,打开第3方库 import requests import re ...

  7. java爬取网页并保存_Java结合WebMagic实现网页内容爬取

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Java结合WebMagic实现网页内容爬取 安装 这里使用maven进行安装 ...

  8. 用python做文献计量学全代码

    各位朋友大家好,今天给大家带来文献计量学的知识和全代码,文献计量学是属于一门边缘学科,交叉科学.我在网上浏览了一下,用R和专属工具做的已经有老师进行了展示,python的还没有所以在这里给大家一个全面 ...

  9. python爬取网页书籍名称代码_python爬取亚马逊书籍信息代码分享

    我有个需求就是抓取一些简单的书籍信息存储到mysql数据库,例如,封面图片,书名,类型,作者,简历,出版社,语种. 我比较之后,决定在亚马逊来实现我的需求. 我分析网站后发现,亚马逊有个高级搜索的功能 ...

最新文章

  1. Spring 和 Spring Boot 最核心的 3 大区别,详解!
  2. java sqlite3查询慢_java连接数据库进行查询优化跑不通谁能帮我调下通
  3. 数据结构——不相交集(并查集)
  4. 17pk扎金花基于层次的技术
  5. 手机怎么安装py thon_Python计数器– Py​​thon集合计数器
  6. 换个skin,换个心情
  7. 转:java生成EXCEL表格(POI vs JXL)
  8. 开始学习yii2第一天
  9. 逻辑回归之ROC曲线的绘制
  10. XXS靶场haozi
  11. Google Map MarkerCluster 点聚合使用简介
  12. arcgis统计矢量面内栅格数据像元值个数
  13. Word论文写作如何实现公式居中、自动编号右对齐
  14. 我来告诉你spyder打不开在哪里看找问题
  15. 高数——换元法(2)
  16. 如何制作并美化我们的微信公众号的二维码?
  17. Dynamic OCT 和 Dynamic ODT 详细说明
  18. overleaf表格_LaTeX基本命令使用教程(清晰实例)(Overleaf平台)(论文排版)
  19. 题目7:猴子跳台阶 1级和3级
  20. 电信等运营商劫持的解决方法

热门文章

  1. 个推CTO安森:我所理解的数据中台
  2. Google BBR拥塞控制算法背后的数学解释 | 深度
  3. 观点PK_倘若做不好AI,云服务商还能勇往直前吗?
  4. 苹果和Siri的七年之痒:Siri的落寞之路
  5. 一年暴涨近20倍,比特币是郁金香泡沫还是庞氏骗局?
  6. 百度开源,分布式配置中心
  7. 一个支付案例,学会策略模式!
  8. Grafana 7.0 发布:改进的界面、新的插件平台和可视化等
  9. 15000 字的 SQL 语句大全
  10. 人工智能的学习经验总结!