python 动态相册,python3爬取动态网站图片
思路:
1、图片放在XXX标签中
2、利用fiddler抓包获取存放图片信息的js文件url
3、利用requests库获取html内容,然后获取其中图片id
4、利用fiddler抓取下载图片地址,结合图片id来下载图片(大文件)
# -*- coding:UTF-8 -*-
import requests, json, time
from contextlib import closing
class get_photos(object):
def __init__(self):
self.photos_id = []
self.download_server = 'https://unsplash.com/photos/xxx/download?force=trues'#下载图片地址,通过fiddler抓包获取
self.target = 'https://unsplash.com/napi/photos?page=1&per_page=24'#存有图片信息的js文件地址
self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
"""
函数说明:获取图片ID
"""
def get_ids(self):
req = requests.get(url=self.target, headers=self.headers, verify=False)
html = json.loads(req.text)
print(type(html), len(html))
for i in range(len(html)):
self.photos_id.append(html[i]['id'])#将列表html中获取id放到列表photos_id中
print(self.photos_id)
time.sleep(1)
"""
函数说明:图片下载
"""
def download(self, photo_id, filename):
self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
self.target = self.download_server.replace('xxx', photo_id)#将xxx换成图片id
#closing可以将任意对象转成上下文对象
with closing(requests.get(url=self.target, stream=True, verify = False, headers = self.headers)) as r:
with open('%d.jpg' % filename, 'ab+') as f:
#下载大文件,r.iter_content表示获取响应原始内容
for chunk in r.iter_content(chunk_size = 1024):#边下载边存硬盘,chunk_size表示以1024比例存数据
if chunk:
f.write(chunk)
f.flush()#强行把缓冲区中的内容放到磁盘中
if __name__ == '__main__':
gp = get_photos()#类实例化
print('获取图片连接中:')
gp.get_ids()#获取图片id
print('图片下载中:')
for i in range(len(gp.photos_id)):
print('正在下载第%d张图片' % (i+1))
gp.download(gp.photos_id[i], (i+1))
python 动态相册,python3爬取动态网站图片相关推荐
- python爬虫真假网址,python爬取福利网站图片完整代码,懂得人都懂
网址需要自己替换懂的人都懂512*2,主要学习简单的爬虫,别乱用,否则后果自负! [Python] 纯文本查看 复制代码 import requests,bs4,re,os,threadingclas ...
- python最新官网图片_python爬取福利网站图片完整代码
存起来 自己学习... import requests,bs4,re,os,threading class MeiNvTu: def __init__(self): self.url_main='ht ...
- python + selenium +pyquery 爬虫 爬取 1688详情图片 阿里巴巴详情图片 与标题 下载图片并进行压缩
python + selenium +pyquery 爬虫 爬取 1688详情图片 阿里巴巴详情图片 与标题 下载图片并进行压缩 用到的库和源码下载地址 需要用到chromedriver 包含wi ...
- python爬取动态网页_python爬取动态网页数据,详解
原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...
- Python3爬取豆瓣网站奇幻小说信息
目的:爬取豆瓣网站的奇幻小说信息 **分析:**URL=https://book.douban.com/tag/%E5%A5%87%E5%B9%BB?start=0&type=T,通过手动翻页 ...
- Python的Scrapy框架爬取诗词网站爱情诗送给女友
文章目录 前言 效果展示: 一.安装scrapy库 二.创建scrapy项目 三.新建爬虫文件scmg_spider.py 四.配置settings.py文件 五.定义数据容器,修改item.py文件 ...
- python爬虫爬取某网站图片
学习分享 | 今天刚学完爬虫,就随便写了一个爬虫代码爬取某网站的图片 网站就是这个图片网站,我选的是1080p格式,4k的要会员,我反正是还不会 导入的包如下 import requests from ...
- Python3爬取网页中图片(2021-01-04 14:06:02),附上完整代码
Python爬取网页中图片,附上完整代码 文章目录 Python爬取网页中图片,附上完整代码 概述 完整代码 概述 批量爬取数据,请遵循robots协议及相关网站协议及说明. 本代码仅供有需要爬取网页 ...
- Python3爬取Bing每日图片,并设置为电脑桌面
文章目录 1 - 简述 2 - 核心代码 2.1 - 爬取BingImage 2.2 - 设置为桌面 2.3 - 设置为每日自动执行 3 - 完整代码 4 - 运行结果 作为鄙视链底层的"脚 ...
最新文章
- 失效日期 软件测试案例_软件异常测试经验总结(精)
- Oracle 9i安装后,配置和启动企业管理器的详细过程
- Do not wait until the conditions are perfect to begin. Beginning makes the conditions perfect(转)...
- Django框架——HttpRequest对象
- OpenCV--罗德里格斯(Rodrigues)变换
- socket套接字TCP API
- java jslider 自定义_Java自定义JSlider UI
- elasticsearch5.0.1集群排错的几个思路总结
- 使用SharePoint Designer,将左侧的导航修改为Treeview
- 阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
- 提高页面渲染速度的建议以及方案
- (数据挖掘-入门-4)基于物品的协同过滤
- Springboot项目启动报错:
- STM32解析美的空调红外遥控器
- 通过bootstrap4框架制作商城网页
- Unity3dC#分布式游戏服务器ET框架介绍-组件式设计(转)
- 你喜欢试探别人的底线吗?
- 【蓝牙串口无线烧写程序】适用于STM32F405RG的Bootloader
- java POI中一些颜色值
- C语言中,%m.ns 的含义
热门文章
- php 替换文件内容,php批量替换Excel文件内容
- Python-base编码和解码方法
- x64_dbg破解64位WinSnap4.5.6图文视频教程
- Linux系统上hdparm工具参数详解,硬盘检查、测速、设定和优化
- PYTHON 双引号 单引号 多引号区别
- 【聆思CSK6视觉AI开发套件试用】基于AI手势识别的剪子包袱锤游戏
- 自建API接口管理平台的产品脑图和解决方案
- Numpy中的.mean()和mean的区别
- 智慧社区网格化管理php,智慧社区网格化服务管理信息平台
- 宿舍住宿管理java课程设计_宿舍管理系统Java课程设计