转瞬 发表于 2021-4-9 00:01:49

Python模式requests+BeautifulSoup实现的SVG素材爬虫工具

本帖最后由 转瞬 于 2021-4-9 12:44 编辑

用Mind+做一个应用的时候,我们会用到各种各样的精灵图,但是对于不擅长美术的同学,就会卡壳。幸运的是,网络上有很多的网站提供免费的素材。
面对网络上海量的素材,一个一个下载的话,会很耗费时间。
这个时候我们就可以使用Mind+提供的Python编程模式,开发一个网络爬虫工具,快速的帮我们获取网络上海量的图片素材。

下面的代码仅仅10多行,就可以实现一个网站上的网络图片的下载与保存。
具体的代码注释都有了,有疑问可以留言交流。
#pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。
#Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。
#pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
import pandas as pd
#Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。
#它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。
import requests
#BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库
from bs4 import BeautifulSoup

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}

def main():
    print("程序启动,抓取动物svg素材任务开始")
    #设置sep参数,可以替换分割用的符号;header指定另一行作为标题,没有表头:None
    #读取CSV文件
    file = pd.read_csv('你自己的文件路径/svg_sucai.csv', sep=',', header=0)
    #DataFrame是一个以命名列方式组织的分布式数据集。
    df = pd.DataFrame(file)
    for i in range(1,50):#len(df)
      #读取某一行中的某几列数据
      col1 = df.loc]
      #发送http请求获取网页数据
      with requests.get(col1) as response:
            #请求成功时的状态
            if response.status_code==200:
                #将数据加载到BeautifulSoup中
                soup = BeautifulSoup(response.text) #,"lxml"
                #获取文档树中的某一个标签
                svg_tag=soup.select("a.svg_db")
                print("%d:%s" %(i,svg_tag.attrs["title"]))
                #下载数据并保存文件
                with open("你自己的文件路径/%s.svg" %(svg_tag.attrs["title"]), "wb") as f:
                  with requests.get(svg_tag.attrs["href"], timeout=600, verify=False) as r:# True表示使用证书验证
                        f.write(r.content)
                        #break #测试使用                        
    print("程序结束,抓取动物svg素材任务完成")

#当**.py**文件被直接运行时,if __name__ ==’__main__'之下的代码块将被运行;
#当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。
if __name__ == '__main__':
    main()


最终获取的文件内容如下:



欢迎和我一起讨论:鹅群【954092621】

taifyx7986 发表于 2021-4-9 19:24:04

本帖最后由 taifyx7986 于 2021-4-9 19:25 编辑

面对网络上海量的素材,一个一个下载的话,会很耗费时间。这个时候我们就可以使用Mind+提供的Python编程模式

















上海快3https://1680380.com/view/kuai3_shft/kuai3_index.html
体彩排列5https://1680380.com/view/tcpl5/index.html

gray6666 发表于 2021-4-12 08:47:54

很棒的案例,果断收藏

转瞬 发表于 2021-4-12 09:38:32

gray6666 发表于 2021-4-12 08:47
很棒的案例,果断收藏

开心{:5_131:}
页: [1]
查看完整版本: Python模式requests+BeautifulSoup实现的SVG素材爬虫工具