python requests html格式图片打不开_爬虫下载图片打不开是什么原因,最新简易爬虫教程...
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 (本文来自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格式图片打不开_爬虫下载图片打不开是什么原因,最新简易爬虫教程...相关推荐
- 小白实战:如何通过python requests 库xpath工具写一个抓取小网站图片的小爬虫
有点爱好的你,偶尔应该会看点妹子图片,最近小网站经常崩溃消失,不如想一个办法本地化吧,把小照片珍藏起来! 首先,准备一个珍藏的小网站,然后就可以开始啦! 完整代码在文末哦!! tips:vx:hsrj ...
- mac用python爬虫下载图片_利用Python爬虫采集mac电脑皮肤|简明python教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ blessing skin网站介绍:blessing skin网址为 https://skin.prinz ...
- mac用python爬虫下载图片_使用Python爬虫实现自动下载图片
python爬虫支持模块多.代码简洁.开发效率高 ,是我们进行网络爬虫可以选取的好工具.对于一个个的爬取下载,势必会消耗我们大量的时间,使用Python爬虫就可以解决这个问题,即可以实现自动下载.本文 ...
- Python 爬虫下载图片两种方法
""" 下载图片 """url = "图片链接"filename = "图片存储的路径" # 记得加 ...
- 将图片处理成圆形_如何把图片批量处理成指定/固定的文件大小/体积以内?
这里介绍的是类似这样的需求: 需要把一组图片批量处理成 宽度1000px,大小在150kb以内的jpeg格式. 01.打开工具链接 webp2jpg-online-在线图片格式转化器(无需上传)-we ...
- dat图片 电脑端微信_微信电脑图片dat转为jpg
微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...
- 利用python3爬虫下载图片、pdf文档
环境 语言环境:python3.6 操作系统:Win10 第三方库 requests 互联网上的资源大都是以二进制形式存储和运输的,如图片.pdf.音频.视频等,像.dat..ts等这些不常用的文件也 ...
- Day3-scrapy爬虫下载图片自定义名称
学习Scrapy过程中发现用Scrapy下载图片时,总是以他们的URL的SHA1 hash值为文件名,如: 图片URL:http://www.example.com/image.jpg 它的SHA1 ...
- 【jQuery】jQuery与vue实现点击下载图片 以及js实现批量打包下载图片
原理:用canvas的toDataUrl() API获取到图片的base64编码,再利用触发a标签事件进行下载.(单张图片下载) 多张图片批量下载导出压缩包需要引入jsZip jQuery实现点击下载 ...
最新文章
- Java标识符首字母可以是哪些_Java编程中你不知道的一些标识符有哪些呢?
- Office EXCEL 如何为宏命令指定快捷键或者重新设置快捷键
- VTK:PolyData之PointSource
- 【渝粤教育】电大中专幼儿园课程论 (10)作业 题库
- ubunt11 安装mysql_ubuntu 11.10安装mysql
- 程序设计爬楼梯问题_楼梯案例:解决楼梯问题的C ++程序
- 【kafka】kafka 启动 Version `123123` is not a valid version
- 图解用户登录验证业务流程(推荐)
- 重回1999元,荣耀Play掀起一场科技普惠革命?
- ROS入门-6.ROS 命令行工具的使用
- 6.11 如何在Excel自选图形中显示公式的数值 [原创Excel教程]
- 修改echarts饼状图位置
- ICPC冠军教练亲自授课 字节跳动ICPC冬令营全球招募50支受训队
- 一种圆面积公式的推导方法
- 获取图片外链的方法--网易相册
- 个人成长语录——我愿永远做一个上进的少年,一个敢于拼搏的人
- win10防火墙不能自动启动
- 界面配色方案(转载)
- PMPtiku项目管理第六版PMI人才三角
- idea全局搜索问题