文档章节

python爬取站长素材网页图片保存到ppt中

你为什么不吃药
 你为什么不吃药
发布于 07/17 17:41
字数 389
阅读 25
收藏 0

网站地址:http://sc.chinaz.com/tupian/index.html

直接上代码:

import requests
from bs4 import BeautifulSoup
from pptx import Presentation
from pptx.util import Inches
import os
header = {
    "Referer":"http://sc.chinaz.com/tupian/index_2.html",
    "Upgrade-Insecure-Requests":1,
    "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36",
     "Host":"sc.chinaz.com",
    "If-None-Match":"b22f28e7941dd41:0",
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Connection":"keep-alive"
}
#创建ppt
prs = Presentation()
#图片放置位置
left, top, width, height = Inches(1), Inches(0.5), Inches(8), Inches(6)
#查询最大页数
response = requests.get("http://sc.chinaz.com/tupian/index.html")
soup = BeautifulSoup(response.text,"lxml");
b=soup.find_all("b")
print("最大页数为%s" % b[-1].text)
for i in range(2,int(b[-1].text)):
    print("下载第%d页的图片" % i)
    resposne = requests.get("http://sc.chinaz.com/tupian/index_%s.html" % str(i));
    resposne.encoding="utf-8"
    soup = BeautifulSoup(resposne.text,"lxml")
    div = soup.find("div",id="container")
    #获取所有a标签
    a = div.find_all("img")
    for j in a:
        #获取名称
        name = j["alt"]
        #获取图片地址
        img = j["src2"]
        #href = j.find("img")["src2"]
        #图片保存的名称
        imgname = name+".jpg"
        conteng = requests.get(img)
        #图片二进制
        er = conteng.content
        with open("F:\\BaiduNetdiskDownload\\"+imgname,"wb") as file:
            print("正在下载图片--%s" %imgname)
            file.write(er)
            file.flush()
            #创建一个空白ppt
            ppt = prs.slide_layouts[6]
            #添加到ppt中
            ppts = prs.slides.add_slide(ppt)
            #空白ppt添加下载的图片
            pic = ppts.shapes.add_picture("F:\\BaiduNetdiskDownload\\"+imgname, left, top, width, height)
            #删除图片
            try:
                if os.path.exists("F:\\BaiduNetdiskDownload\\"+imgname):
                    # 删除文件,可使用以下两种方法。
                    os.remove("F:\\BaiduNetdiskDownload\\"+imgname)
                    # os.unlink(my_file)
            except:
                pass
    files= os.listdir("F:\\BaiduNetdiskDownload\\")
    if files:
        for k in files:
            print("正在删除图片--%s" % k)
            os.remove("F:\\BaiduNetdiskDownload\\"+k)
    prs.save("ppt1.ppt")

个人娱乐

© 著作权归作者所有

共有 人打赏支持
你为什么不吃药
粉丝 2
博文 11
码字总数 3648
作品 0
石家庄
程序员
如何用Python来制作简单的爬虫,爬取到你想要的图片

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为...

糖宝lsh
08/28
0
0
分分钟几万上下!用Python爬取包图网视频(附代码)切勿商用!

分析网页数据结构 目标抓取全站视频数据保存在本地, 并以网站视频名命名视频文件。 经分析我们可以发现总站数据 我们可以从这四这选项下手 分析网页数据格式 网页数据为静态 抓取下一页链接...

Python新世界
07/24
0
0
资深程序员为大家带来30分钟Python 爬虫教程!能看懂就能学会!

图片来源:Blake Connally 发布于Unsplash.com 简单图片爬虫的原料 简单图片爬虫的菜谱 以上的所有都安装好了?棒!在我们继续开始写代码前,我先来解释一下以上这些原料都是用来干什么的。 ...

python达人
05/15
0
0
手把手教你写网络爬虫(2):迷你爬虫架构

原文出处:拓海 介绍 大家好!回顾上一期,我们在介绍了爬虫的基本概念之后,就利用各种工具横冲直撞的完成了一个小爬虫,目的就是猛、糙、快,方便初学者上手,建立信心。对于有一定基础的读...

拓海
04/27
0
0
Python BeautifulSoup爬取oschina个人blog文章

前段时间学习了一些python的模块,要熟悉各个功能还是得写写代码的,所以根据前面掌握的模块知识,写了一个小程序,专门用来爬取oschina的个人博客文章的小工具。经常看到一些大牛的好文章,...

China_OS
2012/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 小心着凉 @红薯

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:5.33起,其声呜呜然,如怨如慕,如泣如诉。余音袅袅,不绝如缕。分享Arch Enemy的单曲《Bridge Of Destiny (2009)》 《Bridge Of...

小小编辑
今天
170
4
what f,,

anlve
今天
2
0
初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
14
0
现场看路演了!

HiBlock
昨天
21
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部