Python 下载首页图片

news2024/12/28 3:14:43

以下是一个使用RoboBrowser和Python下载首页图片的下载器程序,并使用https://www.duoip.cn/get_proxy获取代理:

import os
import time
from robobrowser import RoboBrowser
import requests
​
def get_proxy():
    url = "https://www.duoip.cn/get_proxy"
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        return response.text
    else:
        return None
​
def download_image(proxy):
    browser = RoboBrowser(history=True, user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3")
    proxy_dict = {"http": proxy, "https": proxy}
    browser.set_proxies(proxy_dict)
​
    url = "https://www.jd.com"
    browser.open(url)
    time.sleep(5)
​
    # 获取首页图片的URL
    img_url = browser.find_all('img', {'class': 'lazy-image'})[0].get('data-original')
​
    # 下载图片
    response = requests.get(img_url, stream=True)
    if response.status_code == 200:
        image_content = response.content
        image_filename = os.path.join(os.getcwd(), "jd_image.jpg")
        with open(image_filename, "wb") as image_file:
            image_file.write(image_content)
        print("图片下载完成,保存在:", image_filename)
    else:
        print("图片下载失败")
​
if __name__ == "__main__":
    proxy = get_proxy()
    if proxy:
        download_image(proxy)
    else:
        print("无法获取代理")

这个程序首先获取一个代理,然后使用RoboBrowser打开jd.com的首页,获取首页图片的URL,并将其下载到本地。请注意,这个程序需要在Python3.6及更高版本下运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1126899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】Centos 8 服务器部署:阿里云端口开放与应用实例教程

目录 一、基本流程 二、进入实例安全组 (1)进入实例详情 (2)打开安全组列表 三、配置规则 (1)默认安全组 (2)自定义安全组 ① 创建安全组添加入方向端口 ② 编辑安全组导入…

紫光同创FPGA实现图像去雾 基于暗通道先验算法 纯verilog代码加速 提供2套工程源码和技术支持

目录 1、前言免责声明本去雾模块的特点 2、目前我这里已有的图像处理方案3、设计思路框架SD卡初始化SD卡读操作SD卡读图片OV5640摄像头配置及采集HDMA图像缓存输入输出视频HDMA缓冲FIFOHDMA控制模块 图像去雾模块详解HDMI输出 4、PDS工程1详解:SD卡提供有雾图片5、P…

用“qwer”打造类似梦幻西游中比巧克力还丝滑的状态机

点击上方亿元程序员关注和★星标 引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。 梦幻西游是流量密码吗&…

Trace 在多线程异步体系下传递最佳实践

JAVA 线程异步常见的实现方式有&#xff1a; new ThreadExecutorService 当然还有其他的&#xff0c;比如fork-join&#xff0c;这些下文会有提及&#xff0c;下面主要针对这两种场景结合 DDTrace 和 Springboot 下进行实践。 引入 DDTrace sdk <properties><java.…

Sui特性将推动下一波游戏大发展

随着游戏行业的竞争日益激烈&#xff0c;区块链技术为游戏工作室提供了必要的优势&#xff0c;以保持观众对他们的兴趣。实际上&#xff0c;区块链技术可能是未来游戏设计中最令人愉快和吸引人的关键。游戏在深入探索世界方面表现很棒&#xff0c;它们通过视觉、叙事和社区建设…

Scala入门到放弃—02—函数

文章目录 函数方法定义默认参数命名参数可变参数条件语句循环表达式 函数 方法定义 def 方法名(参数: 参数类型): 返回值类型 {//方法体//最后一行作为返回值(不需要使用return) } def max(x: Int, y: Int): Int {if(x > y)xelse y }package org.example object App {de…

C++ 模板的编译链接讨论

//头文件 #ifndef Test_h__ #define Test_h__ template<class T> class Test1 { public: static T Add(const T& x, const T& y); }; #endif // Test_h__ //cpp文件 #include "Test.h" template<class T> T Test1<T>::Add(const …

Qt 案例 使用QNetworkReply或者URLDownloadToFile 下载http、https资源到本地路径

Qt 使用QNetworkReply或者URLDownloadToFile两种不同方式下载http、https链接资源文件&#xff0c;并且获取下载进度。 目录 一、 使用 URLDownloadToFile 下载二、 使用 QNetworkReply 下载三、 打包好的可执行程序示例下载四、 会员或订阅专栏下载源码 一、 使用 URLDownload…

USB协议学习(二)设备枚举过程分析

USB协议学习&#xff08;二&#xff09;设备枚举过程分析 笔者来聊聊设备枚举过程分析. 这里写自定义目录标题 USB协议学习&#xff08;二&#xff09;设备枚举过程分析USB设备运行过程USB设备枚举USB设备通信构成USB设备请求USB枚举过程分析如何改变文本的样式插入链接与图片如…

【算法训练-动态规划 二】【线性DP问题】最长递增子序列

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【动态规划】&#xff0c;使用【数组】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&…

跨境电商:经济合作新引擎,技术赋能新亮点

随着数字化浪潮席卷全球&#xff0c;跨境电商正蓬勃发展&#xff0c;成为中国外贸高质量发展的新引擎。中国的跨境电商行业在"买全球、卖全球"方面正经历着显著的增长&#xff0c;延展出新的商业生态&#xff0c;以技术创新和国际合作为支撑&#xff0c;促进了中国制…

Linux中的shell外壳与权限(包含目录文件的权限,粘滞位的来龙去脉)

Linux中的shell外壳与权限[包含目录文件的权限,粘滞位的来龙去脉] 一.shell外壳的理解1.为什么需要有shell外壳的存在?2.什么是shell外壳?3.shell外壳的运行原理是什么?4.shell和bash的关系 二.Linux中的用户权限1.用户分类与身份切换1.用户分类2.root用户切换为普通用户1.s…

操作系统学习笔记7-IO管理

文章目录 1、IO管理学什么(学习逻辑图)2、IO管理硬件知识-IO设备的分类(硬件分类)3、IO管理硬件知识-IO控制方式的发展过程4、IO管理硬件知识-IO控制方式-程序直接控制方式5、IO管理硬件知识-IO控制方式-中断控制方式6、IO管理硬件知识-IO控制方式-DMA控制方式7、IO管理硬件知识…

JSX 样式处理

学习目标&#xff1a; 能够在 JSX 中实现 CSS 样式处理  1. 行内样式 实现&#xff1a; 在元素身上绑定一个 style 样式   - 行内样式 style function APP(){return (<div className"App"><div style{{color:red,fontSize:10px}}>this is div</d…

Swagger基本使用

文章目录 1. 接口文档2. Open API3. Swagger 简介4. Springfox5. Swagger 基本用法6. Swagger-UI使用7. Swagger配置 1. 接口文档 接口文档对于前后端开发人员都十分重要。尤其近几年流行前后端分离后接口文档又变成重中之重。接口文档固然重要&#xff0c;但是由于项目周期等…

MySQL数据同步到达梦数据库

1.服务器配置 达梦数据库的初始状态是不兼容其他任何数据库模式的&#xff0c;所以必须先设置系统的兼容性&#xff0c;从安装路径的tool文件夹中打开console工具&#xff08;DM控制台工具&#xff09;&#xff0c;设置兼容MySQL。 2.创建用户&#xff08;需要分配权限的操作&…

K8s 之 Helm 部署 MySQL 5.7

Author&#xff1a;rab 目录 一、环境二、部署2.1 安装 NFS2.2 安装 Helm2.3 安装 MySQL2.3.1 创建 Namespace2.3.2 创建 PV2.3.3 配置 MySQL2.3.4 部署 MySQL 2.4 MySQL 可用性验证 小结 一、环境 # K8s版本 v1.23.6# Docker版本 v20.10.20# Helm版本 v3.10.3# NFS v4说明&am…

建筑能源管理(6)——建筑能源监管

中国建筑(公共机构)能耗的总量逐年上升&#xff0c;在能源总消费量中所占的比例已从20世纪70年代末的10%&#xff0c;上升到近年的超过30%。2006年&#xff0c;《中华人民共和国国民经济和社会发展第十一个五年规划纲要》提出了“十一五”期间单位国内生产总值能耗降低20%左右&…

SocketBase类库

SocketBase类库主要是方便创建Socket客户端和Socket服务端的基础实现。 抽象基类&#xff1a;主要实现创建Socket public abstract class NetworkBase{} 通用基类&#xff1a;指定了消息的解析规则&#xff0c;指定了数据转换的规则 的基本实现 /// <summary>/// 支持长…

Flume基本使用--mysql数据输出

MySQL数据输出 在MySQL中建立数据库school&#xff0c;在数据库中建立表student。SQL语句如下&#xff1a; create database school; use school; create table student(id int not null,name varchar(40),age int,grade int,primary key(id) ); 请使用Flume实时捕…