数据爬取东京奥运会获得奖牌国家及地区旗帜图片
目录
- 旗帜图片链接
- 从列表中取出文字和对应旗帜链接
- 将图片通过链接请求保存在本地(img文件夹需提前创建好)
- 通过for循环遍历取出所有国家及地区的旗帜
通过爬虫获取旗帜链接URL,爬虫代码详情见:数据爬虫及可视化——东京奥运会奖牌榜
旗帜图片链接
#国家及地区名,旗帜图片url
imgs = [{'中国': 'https://sports3.gtimg.com/kokyooly/noc/26.png'}, {'美国': 'https://sports3.gtimg.com/kokyooly/noc/5.png'}, {'日本': 'https://sports3.gtimg.com/kokyooly/noc/18.png'}, {'澳大利亚': 'https://sports3.gtimg.com/kokyooly/noc/157.png'}, {'俄罗斯奥委会': 'https://sports3.gtimg.com/kokyooly/noc/23062.png'}, {'英国': 'https://sports3.gtimg.com/kokyooly/noc/211.png'}, {'德国': 'https://sports3.gtimg.com/kokyooly/noc/2.png'}, {'法国': 'https://sports3.gtimg.com/kokyooly/noc/144.png'}, {'荷兰': 'https://sports3.gtimg.com/kokyooly/noc/1.png'}, {'韩国': 'https://sports3.gtimg.com/kokyooly/noc/106.png'}, {'新西兰': 'https://sports3.gtimg.com/kokyooly/noc/158.png'}, {'意大利': 'https://sports3.gtimg.com/kokyooly/noc/6.png'}, {'匈牙利': 'https://sports3.gtimg.com/kokyooly/noc/28.png'}, {'巴西': 'https://sports3.gtimg.com/kokyooly/noc/16.png'}, {'古巴': 'https://sports3.gtimg.com/kokyooly/noc/169.png'}, {'捷克': 'https://sports3.gtimg.com/kokyooly/noc/17.png'}, {'加拿大': 'https://sports3.gtimg.com/kokyooly/noc/159.png'}, {'瑞士': 'https://sports3.gtimg.com/kokyooly/noc/149.png'}, {'克罗地亚': 'https://sports3.gtimg.com/kokyooly/noc/89.png'}, {'中国台北': 'https://sports3.gtimg.com/kokyooly/noc/31.png'}, {'瑞典': 'https://sports3.gtimg.com/kokyooly/noc/154.png'}, {'波兰': 'https://sports3.gtimg.com/kokyooly/noc/150.png'}, {'丹麦': 'https://sports3.gtimg.com/kokyooly/noc/152.png'}, {'牙买加': 'https://sports3.gtimg.com/kokyooly/noc/248.png'}, {'斯洛文尼亚': 'https://sports3.gtimg.com/kokyooly/noc/30.png'}, {'挪威': 'https://sports3.gtimg.com/kokyooly/noc/153.png'}, {'厄瓜多尔': 'https://sports3.gtimg.com/kokyooly/noc/220.png'}, {'希腊': 'https://sports3.gtimg.com/kokyooly/noc/171.png'}, {'乌兹别克斯坦': 'https://sports3.gtimg.com/kokyooly/noc/15.png'}, {'科索沃': 'https://sports3.gtimg.com/kokyooly/noc/6913.png'}, {'卡塔尔': 'https://sports3.gtimg.com/kokyooly/noc/278.png'}, {'西班牙': 'https://sports3.gtimg.com/kokyooly/noc/145.png'}, {'格鲁吉亚': 'https://sports3.gtimg.com/kokyooly/noc/163.png'}, {'罗马尼亚': 'https://sports3.gtimg.com/kokyooly/noc/164.png'}, {'委内瑞拉': 'https://sports3.gtimg.com/kokyooly/noc/162.png'}, {'斯洛伐克': 'https://sports3.gtimg.com/kokyooly/noc/14.png'}, {'中国香港': 'https://sports3.gtimg.com/kokyooly/noc/38.png'}, {'南非': 'https://sports3.gtimg.com/kokyooly/noc/178.png'}, {'印尼': 'https://sports3.gtimg.com/kokyooly/noc/85.png'}, {'塞尔维亚': 'https://sports3.gtimg.com/kokyooly/noc/107.png'}, {'奥地利': 'https://sports3.gtimg.com/kokyooly/noc/151.png'}, {'埃塞俄比亚': 'https://sports3.gtimg.com/kokyooly/noc/222.png'}, {'比利时': 'https://sports3.gtimg.com/kokyooly/noc/147.png'}, {'突尼斯': 'https://sports3.gtimg.com/kokyooly/noc/166.png'}, {'菲律宾': 'https://sports3.gtimg.com/kokyooly/noc/130.png'}, {'土耳其': 'https://sports3.gtimg.com/kokyooly/noc/33.png'}, {'爱尔兰': 'https://sports3.gtimg.com/kokyooly/noc/19.png'}, {'以色列': 'https://sports3.gtimg.com/kokyooly/noc/29.png'}, {'爱沙尼亚': 'https://sports3.gtimg.com/kokyooly/noc/8.png'}, {'拉脱维亚': 'https://sports3.gtimg.com/kokyooly/noc/9.png'}, {'伊朗': 'https://sports3.gtimg.com/kokyooly/noc/87.png'}, {'斐济': 'https://sports3.gtimg.com/kokyooly/noc/267.png'}, {'白俄罗斯': 'https://sports3.gtimg.com/kokyooly/noc/103.png'}, {'百慕大': 'https://sports3.gtimg.com/kokyooly/noc/260.png'}, {'泰国': 'https://sports3.gtimg.com/kokyooly/noc/101.png'}, {'波多黎各': 'https://sports3.gtimg.com/kokyooly/noc/277.png'}, {'摩洛哥': 'https://sports3.gtimg.com/kokyooly/noc/172.png'}, {'哥伦比亚': 'https://sports3.gtimg.com/kokyooly/noc/12.png'}, {'多米尼加共和国': 'https://sports3.gtimg.com/kokyooly/noc/141.png'}, {'亚美尼亚': 'https://sports3.gtimg.com/kokyooly/noc/213.png'}, {'乌克兰': 'https://sports3.gtimg.com/kokyooly/noc/13.png'}, {'蒙古': 'https://sports3.gtimg.com/kokyooly/noc/173.png'}, {'葡萄牙': 'https://sports3.gtimg.com/kokyooly/noc/10.png'}, {'圣马力诺': 'https://sports3.gtimg.com/kokyooly/noc/175.png'}, {'吉尔吉斯斯坦': 'https://sports3.gtimg.com/kokyooly/noc/124.png'}, {'尼日利亚': 'https://sports3.gtimg.com/kokyooly/noc/93.png'}, {'印度': 'https://sports3.gtimg.com/kokyooly/noc/227.png'}, {'乌干达': 'https://sports3.gtimg.com/kokyooly/noc/249.png'}, {'肯尼亚': 'https://sports3.gtimg.com/kokyooly/noc/229.png'}, {'土库曼斯坦': 'https://sports3.gtimg.com/kokyooly/noc/285.png'}, {'约旦': 'https://sports3.gtimg.com/kokyooly/noc/123.png'}, {'北马其顿': 'https://sports3.gtimg.com/kokyooly/noc/231.png'}, {'保加利亚': 'https://sports3.gtimg.com/kokyooly/noc/148.png'}, {'纳米比亚': 'https://sports3.gtimg.com/kokyooly/noc/273.png'}, {'墨西哥': 'https://sports3.gtimg.com/kokyooly/noc/156.png'}, {'哈萨克斯坦': 'https://sports3.gtimg.com/kokyooly/noc/160.png'}, {'阿塞拜疆': 'https://sports3.gtimg.com/kokyooly/noc/214.png'}, {'埃及': 'https://sports3.gtimg.com/kokyooly/noc/170.png'}, {'加纳': 'https://sports3.gtimg.com/kokyooly/noc/83.png'}, {'马来西亚': 'https://sports3.gtimg.com/kokyooly/noc/232.png'}, {'阿根廷': 'https://sports3.gtimg.com/kokyooly/noc/24.png'}, {'科威特': 'https://sports3.gtimg.com/kokyooly/noc/230.png'}, {'科特迪瓦': 'https://sports3.gtimg.com/kokyooly/noc/88.png'}, {'芬兰': 'https://sports3.gtimg.com/kokyooly/noc/161.png'}]
从列表中取出文字和对应旗帜链接
#将封装在列表中字典的键和值分别取出
for img in imgs:#img是字典,通过img.keys(),img.values()分别取出字典中所有键和值#键和值分别是dict_keys类型和dict_values类型print(type(img.keys()),type(img.values()))#使用list()方法将dict_keys类型转换为list,再取列表的第一个值。dict_values类似。print(list(img.keys())[0],list(img.values())[0])
将图片通过链接请求保存在本地(img文件夹需提前创建好)
import os,base64
import requests as req
from PIL import Image
from io import BytesIOfor img in imgs:url = list(img.values())[0]name = list(img.keys())[0]#请求图片信息image= requests.get(url)# 图片的base64编码ls_f = base64.b64encode(BytesIO(image.content).read())# base64编码解码imgdata = base64.b64decode(ls_f)# 图片文件保存print(name+ '.jpg 正在保存...')with open('./img/' + name+'.jpg', 'wb')as fp:fp.write(imgdata)
通过for循环遍历取出所有国家及地区的旗帜
将地址
https://sports3.gtimg.com/kokyooly/noc/26.png
换成
https://sports3.gtimg.com/kokyooly/noc/{}.png
得到所有的地址:
urls = []
for i in range(350):url = "https://sports3.gtimg.com/kokyooly/noc/{}.png".format(i)urls.append(url)
print(urls)
import os,base64
import requests as req
from PIL import Image
from io import BytesIO
r = 1
for url in urls:#请求图片信息try:image= requests.get(url)except:print(str(r)+ '.jpg 不存在...')else:# 图片的base64编码ls_f = base64.b64encode(BytesIO(image.content).read())# base64编码解码imgdata = base64.b64decode(ls_f)# 图片文件保存print(str(r)+ '.jpg 正在保存...')with open('./imgs/' +str(r)+'.jpg', 'wb')as fp:fp.write(imgdata)finally:r = r+1
(源码下载地址)
数据爬取东京奥运会获得奖牌国家及地区旗帜图片相关推荐
- Python 爬取东京奥运会奖牌榜!中国原来这么厉害!
需求分析 我们要爬取的是 2020东京奥运会奖牌榜. (截至 2021/8/2 下午 17:30) 右键单击网页,选择"检查",调出开发者界面.然后点击右侧选项卡中的"网 ...
- 爬取东京奥运会实时的金牌数量并制成excel表格
先找到有关奖牌信息的链接 https://tiyu.baidu.com/tokyoly/home/tab/奖牌榜/from/pc 运行后发现返回值为[200],则成功响应,可以直接爬取 写完代码后im ...
- 基于python的自媒体和官媒数据爬取、可视化分析及云词图制作
创作不易,如果以下内容对你有帮助,别忘了点一个赞,让更多的小伙伴能看到吧~~ 1. 问题描述 为了研究自媒体和官媒的传播新闻<武汉快递小哥汪勇的先进事迹>的及时性和传播力度,对比两种传播途 ...
- UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码
目录 Python代码 根据需求改写url 报错应对办法 UN Comtrade数据库关于中国台湾的数据 2021/9/28更新:最近有用户反馈下载会出现错误内容如下图,感谢用户@三眼皮138帮忙找出 ...
- UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码——使用动态IP
目录 Virtual Private Network 代理服务器 测试代理IP是否生效 上一篇博文UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码讲了如何使用Python爬取 ...
- 手把手教-网络时空大数据爬取与分析DAS系统(瓦片地图获取)
手把手教 | 网络时空大数据爬取与分析DAS系统(瓦片地图获取) 原创 DAS Team 双评价DAS 地理计算语言,为大众赋能地理智慧. --DAS Team 爬取分析DAS系统下载 地址: htt ...
- (五) 爬虫教程 |Ajax 数据爬取
一.前言 有时候我们在用 requests 抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用 requests 得到的结果并没有,这是因为requ ...
- 网络爬虫分析实例:基于音悦台网站榜单的数据爬取与分析
基于音悦台网站榜单的数据爬取与分析 本实验代码:进入 一.研究背景 在互联网发展初期,网站相对较少,信息查找比较容易.然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满 ...
- (一)基础:通过简单HTTP请求和正则进行数据爬取解析
(一)基础:通过简单HTTP请求和正则进行数据爬取解析 文章目录 (一)基础:通过简单HTTP请求和正则进行数据爬取解析 发送简单http请求 如何使用代理ip发送请求 常用的User-Agent 发 ...
最新文章
- javaweb项目开发日志的原理,方式
- 下列选项中 采用边界值平滑_使用Illustrator中的混合工具创建很有个性的蛋宝宝...
- 【转载】PHP的(EOT)在PHP中添加html
- python 列表常用操作(二)
- react-native run-android报错的原因,SDK位置未指定
- 统计学第二章--感知机
- [转载] 【零基础学爬虫】python中的yield详解
- 实现算法2.11、2.12的程序
- 用virt-manager管理远程KVM虚拟机
- Java学习路线(完整详细版)
- python 弹窗选择文件并获取文件路径
- dell最新计算机如何U盘引导,详解戴尔台式电脑如何bios设置U盘启动
- 水平面:篡命铜钱の1
- 5G与人工智能有什么关系?
- 网络管理维护(SNMP、RMON)期末考试大纲总结
- 如何画好架构图详解(建议收藏)
- 【每日一题】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5]
- TSC打印机ttp-247(java)
- 如何快速干净的卸载mysql数据库,不影响下次安装
- web页面调用打印机不预览直接执行打印