我有一个 pandas 列,其中国家/地区名称作为列。
我需要该国家/地区国旗的 PNG url 作为单独的列。美国的 URL 如下所示,
https://upload.wikimedia.org/wikipedia/en/thumb/a/a4/Flag_of_the_United_States.svg/1280px-Flag_of_the_United_States.svg.png
我怎样才能实现同样的目标。
这是我的数据框,其中包含国家/地区名称。
0 Afghanistan
1 Albania
2 Algeria
3 Andorra
4 Angola
5 Antigua and Barbuda
6 Argentina
7 Armenia
8 Australia
9 Austria
10 Austria-Hungary
11 Azerbaijan
12 Bahamas
13 Bahrain
14 Bangladesh
15 Barbados
16 Belarus
17 Belgium
18 Belize
19 Benin
20 Bhutan
.......
.......
Name: Entity, dtype: object
最佳答案
因此,查看维基百科中的标志链接,它们的网址似乎没有统一的格式,因此您无法仅迭代国家/地区列表来创建该列。
您最好的选择是简单地抓取维基百科并将您的国家/地区列表迭代到基本文件:标志页面中。像这样的事情:
import requests
from bs4 import BeautifulSoup
for item in df['Country']:
url = 'https://en.wikipedia.org/wiki/File:Flag_of_'+str(item)+'.svg'
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
df['Flag_Link'] = soup.find('span', {'class':'mw-filepage-other-resolutions'}).findAll('a')[3]['href']
我假设您想要 1280X853 链接,即 [3] 范围。如果您有任何疑问,请告诉我。
关于python - 根据国家/地区名称创建标志 URL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56314289/