Это дает словарь континента и его стран;
import requests
from bs4 import BeautifulSoup
url = requests.get('https://www.worldatlas.com/cntycont.htm')
html_text = url.text
soup = BeautifulSoup(html_text,'lxml')
mydivs = soup.findAll("div", {"class": "miscTxt"})
for tag in mydivs:
h2Tags = tag.find_all("h2", limit=6)
ulTags = tag.find_all("ul", limit=6)
continents=[]
countries = []
for cont in h2Tags:
continents.append(cont.text.split('(')[0].strip())
for countrygroup in ulTags:
temp = []
for country in countrygroup:
if country.find('a') != -1:
temp.append(country.find('a').text)
countries.append(temp)
final_dict=dict(zip(continents,countries))
print final_dict
вывод составляет
{u'AFRICA': [u'Algeria',
u'Angola',
u'Benin',
u'Botswana',
u'Burkina',
u'Burundi',
u'Cameroon',
u'Cape Verde',
u'Central African Republic',
u'Chad',
u'Comoros',
u'Congo',
u'Congo, Democratic Republic of',
u'Djibouti',
u'Egypt',
u'Equatorial Guinea',
u'Eritrea',
u'Ethiopia',
u'Gabon',
u'Gambia',
u'Ghana',
u'Guinea',
u'Guinea-Bissau',
u'Ivory Coast',
u'Kenya',
u'Lesotho',
u'Liberia',
u'Libya',
u'Madagascar',
u'Malawi',
u'Mali',
u'Mauritania',
u'Mauritius',
u'Morocco',
u'Mozambique',
u'Namibia',
u'Niger',
u'Nigeria',
u'Rwanda',
u'Sao Tome and Principe',
u'Senegal',
u'Seychelles',
u'Sierra Leone',
u'Somalia',
u'South Africa',
u'South Sudan',
u'Sudan',
u'Swaziland',
u'Tanzania',
u'Togo',
u'Tunisia',
u'Uganda',
u'Zambia',
u'Zimbabwe\n'],
u'ASIA': [u'Afghanistan',
u'Bahrain',
u'Bangladesh',
u'Bhutan',
u'Brunei',
u'Burma (Myanmar)',
u'Cambodia',
u'China',
u'East Timor',
u'India',
u'Indonesia',
u'Iran',
u'Iraq',
u'Israel',
u'Japan',
u'Jordan',
u'Kazakhstan',
u'Korea, North',
u'Korea, South',
u'Kuwait',
u'Kyrgyzstan',
u'Laos',
u'Lebanon',
u'Malaysia',
u'Maldives',
u'Mongolia',
u'Nepal',
u'Oman',
u'Pakistan',
u'Philippines',
u'Qatar',
u'Russian Federation',
u'Saudi Arabia',
u'Singapore',
u'Sri Lanka',
u'Syria',
u'Tajikistan',
u'Thailand',
u'Turkey',
u'Turkmenistan',
u'United Arab Emirates',
u'Uzbekistan',
u'Vietnam',
u'Yemen'],
u'EUROPE': [u'Albania',
u'Andorra',
u'Armenia',
u'Austria',
u'Azerbaijan',
u'Belarus',
u'Belgium',
u'Bosnia and Herzegovina',
u'Bulgaria',
u'Croatia',
u'Cyprus',
u'Czech Republic',
u'Denmark',
u'Estonia',
u'Finland',
u'France',
u'Georgia',
u'Germany',
u'Greece',
u'Hungary',
u'Iceland',
u'Ireland',
u'Italy',
u'Latvia',
u'Liechtenstein',
u'Lithuania',
u'Luxembourg',
u'Macedonia',
u'Malta',
u'Moldova',
u'Monaco',
u'Montenegro',
u'Netherlands',
u'Norway',
u'Poland',
u'Portugal',
u'Romania',
u'San Marino',
u'Serbia',
u'Slovakia',
u'Slovenia',
u'Spain',
u'Sweden',
u'Switzerland',
u'Ukraine',
u'United Kingdom',
u'Vatican City'],
u'N. AMERICA': [u'Antigua and Barbuda',
u'Bahamas',
u'Barbados',
u'Belize',
u'Canada',
u'Costa Rica',
u'Cuba',
u'Dominica',
u'Dominican Republic',
u'El Salvador',
u'Grenada',
u'Guatemala',
u'Haiti',
u'Honduras',
u'Jamaica',
u'Mexico',
u'Nicaragua',
u'Panama',
u'Saint Kitts and Nevis',
u'Saint Lucia',
u'Saint Vincent and the Grenadines',
u'Trinidad and Tobago',
u'United States'],
u'OCEANIA': [u'Australia',
u'Fiji',
u'Kiribati',
u'Marshall Islands',
u'Micronesia',
u'Nauru',
u'New Zealand',
u'Palau',
u'Papua New Guinea',
u'Samoa',
u'Solomon Islands',
u'Tonga',
u'Tuvalu',
u'Vanuatu'],
u'S. AMERICA': [u'Argentina',
u'Bolivia',
u'Brazil',
u'Chile',
u'Colombia',
u'Ecuador',
u'Guyana',
u'Paraguay',
u'Peru',
u'Suriname',
u'Uruguay',
u'Venezuela']}