前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 (本文来自www.777n.com)

作者: GitPython

(原文来自www.777n.com)

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 (本文来自www.777n.com)http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

1.获取图片的url链接

首先,打开百度图片首页,注意下图url中的index

接着,把页面切换成传统翻页版(flip),因为这样有利于我们爬取图片!

对比了几个url发现,pn参数是请求到的数量。通过修改pn参数,观察返回的数据,发现每页最多只能是60个图片。

注:gsm参数是pn参数的16进制表达,去掉无妨

然后,右键检查网页源代码,直接(ctrl+F)搜索 objURL

这样,我们发现了需要图片的url了。

2.把图片链接保存到本地

现在,我们要做的就是将这些信息爬取出来。

注:网页中有objURL,hoverURL…但是我们用的是objURL,因为这个是原图

那么,如何获取objURL?用正则表达式!

那我们该如何用正则表达式实现呢?其实只需要一行代码…results = re.findall('"objURL":"(.*?)",', html)

核心代码:

1.获取图片url代码:# 获取图片url连接def get_parse_page(pn,name): for i in range(int(pn)): # 1.获取网页 print('正在获取第{}页'.format(i+1)) # 百度图片首页的url # name是你要搜索的关键词 # pn是你想下载的页数 url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%s&pn=%d' %(name,i*20) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4843.400 QQBrowser/9.7.13021.400'} # 发送请求,获取相应 response = requests.get(url, headers=headers) html = response.content.decode() # print(html) # 2.正则表达式解析网页 # "objURL":"http://n.sinaimg.cn/sports/transform/20170406/dHEk-fycxmks5842687.jpg" results = re.findall('"objURL":"(.*?)",', html) # 返回一个列表 # 根据获取到的图片链接,把图片保存到本地 save_to_txt(results, name, i)

2.保存图片到本地代码:# 保存图片到本地def save_to_txt(results, name, i): j = 0 # 在当目录下创建文件夹 if not os.path.exists('./' + name): os.makedirs('./' + name) # 下载图片 for result in results: print('正在保存第{}个'.format(j)) try: pic = requests.get(result, timeout=10) time.sleep(1) except: print('当前图片无法下载') j += 1 continue # 可忽略,这段代码有bug # file_name = result.split('/') # file_name = file_name[len(file_name) - 1] # print(file_name) # # end = re.search('(.png|.jpg|.jpeg|.gif)$', file_name) # if end == None: # file_name = file_name + '.jpg' # 把图片保存到文件夹 file_full_name = './' + name + '/' + str(i) + '-' + str(j) + '.jpg' with open(file_full_name, 'wb') as f: f.write(pic.content) j += 1

3.主函数代码:# 主函数if __name__ == '__main__': name = input('请输入你要下载的关键词:') pn = input('你想下载前几页(1页有60张):') get_parse_page(pn, name)

使用说明:# 配置以下模块import requests import reimport osimport time# 1.运行 py源文件# 2.输入你想搜索的关键词,比如“柯基”、“泰迪”等# 3.输入你想下载的页数,比如5,那就是下载 5 x 60=300 张图片

收藏 举报

python requests html格式图片打不开_爬虫下载图片打不开是什么原因,最新简易爬虫教程...相关推荐

  1. 小白实战:如何通过python requests 库xpath工具写一个抓取小网站图片的小爬虫

    有点爱好的你,偶尔应该会看点妹子图片,最近小网站经常崩溃消失,不如想一个办法本地化吧,把小照片珍藏起来! 首先,准备一个珍藏的小网站,然后就可以开始啦! 完整代码在文末哦!! tips:vx:hsrj ...

  2. mac用python爬虫下载图片_利用Python爬虫采集mac电脑皮肤|简明python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ blessing skin网站介绍:blessing skin网址为 https://skin.prinz ...

  3. mac用python爬虫下载图片_使用Python爬虫实现自动下载图片

    python爬虫支持模块多.代码简洁.开发效率高 ,是我们进行网络爬虫可以选取的好工具.对于一个个的爬取下载,势必会消耗我们大量的时间,使用Python爬虫就可以解决这个问题,即可以实现自动下载.本文 ...

  4. Python 爬虫下载图片两种方法

    """ 下载图片 """url = "图片链接"filename = "图片存储的路径" # 记得加 ...

  5. 将图片处理成圆形_如何把图片批量处理成指定/固定的文件大小/体积以内?

    这里介绍的是类似这样的需求: 需要把一组图片批量处理成 宽度1000px,大小在150kb以内的jpeg格式. 01.打开工具链接 webp2jpg-online-在线图片格式转化器(无需上传)-we ...

  6. dat图片 电脑端微信_微信电脑图片dat转为jpg

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

  7. 利用python3爬虫下载图片、pdf文档

    环境 语言环境:python3.6 操作系统:Win10 第三方库 requests 互联网上的资源大都是以二进制形式存储和运输的,如图片.pdf.音频.视频等,像.dat..ts等这些不常用的文件也 ...

  8. Day3-scrapy爬虫下载图片自定义名称

    学习Scrapy过程中发现用Scrapy下载图片时,总是以他们的URL的SHA1 hash值为文件名,如: 图片URL:http://www.example.com/image.jpg 它的SHA1 ...

  9. 【jQuery】jQuery与vue实现点击下载图片 以及js实现批量打包下载图片

    原理:用canvas的toDataUrl() API获取到图片的base64编码,再利用触发a标签事件进行下载.(单张图片下载) 多张图片批量下载导出压缩包需要引入jsZip jQuery实现点击下载 ...

最新文章

  1. Java标识符首字母可以是哪些_Java编程中你不知道的一些标识符有哪些呢?
  2. Office EXCEL 如何为宏命令指定快捷键或者重新设置快捷键
  3. VTK:PolyData之PointSource
  4. 【渝粤教育】电大中专幼儿园课程论 (10)作业 题库
  5. ubunt11 安装mysql_ubuntu 11.10安装mysql
  6. 程序设计爬楼梯问题_楼梯案例:解决楼梯问题的C ++程序
  7. 【kafka】kafka 启动 Version `123123` is not a valid version
  8. 图解用户登录验证业务流程(推荐)
  9. 重回1999元,荣耀Play掀起一场科技普惠革命?
  10. ROS入门-6.ROS 命令行工具的使用
  11. 6.11 如何在Excel自选图形中显示公式的数值 [原创Excel教程]
  12. 修改echarts饼状图位置
  13. ICPC冠军教练亲自授课 字节跳动ICPC冬令营全球招募50支受训队
  14. 一种圆面积公式的推导方法
  15. 获取图片外链的方法--网易相册
  16. 个人成长语录——我愿永远做一个上进的少年,一个敢于拼搏的人
  17. win10防火墙不能自动启动
  18. 界面配色方案(转载)
  19. PMPtiku项目管理第六版PMI人才三角
  20. idea全局搜索问题

热门文章

  1. 1 谈谈section标签
  2. 魔法数字是什么?如何用数据分析找到它
  3. 索尼数码相机数据恢复,相机格式化后怎么恢复
  4. 智慧海港综合管理系统解决方案
  5. 树立威信 古语_在数据科学领域树立品牌
  6. 关于host文件配置,hosts配置的作用,多个域名对应一个ip
  7. Pytorch 实战RNN
  8. android 仿Iphone AssistiveTouch
  9. HTML页面herf点击不跳转
  10. lol现在哪个服务器有无限火力,LOL2018无限火力开放时间_国服无限火力模式什么时候出...