{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 149,
   "id": "d47fbe08",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "3500it [00:01, 2000.33it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "453690 videos found\n",
      "412702 unique\n",
      "133590.1 hours of data\n",
      "97284.5 hours of data with clipping\n"
     ]
    }
   ],
   "source": [
    "youtube_ids = set()\n",
    "tot_n = 0\n",
    "durations_s = []\n",
    "with open(\"/data/suno/data/harvest/youtube_lg/videos_by_domain_global.jsonl\") as f:\n",
    "    for l in tqdm.tqdm(f):\n",
    "        if len(l.strip()) == 0:\n",
    "            continue\n",
    "        m = json.loads(l)\n",
    "        if m is None:\n",
    "            continue\n",
    "        domain_str, search_results = m\n",
    "        for search_result in search_results:\n",
    "            if search_result[\"id\"] not in youtube_ids:\n",
    "                youtube_ids.add(search_result[\"id\"])\n",
    "                durations_s.append(_parse_duration(search_result[\"duration\"]))\n",
    "            tot_n += 1\n",
    "print(tot_n, \"videos found\")\n",
    "print(len(youtube_ids), \"unique\")\n",
    "print(round(np.sum(durations_s) / 60 / 60, 1), \"hours of data\")\n",
    "print(round(np.sum([np.min([3600, d]) for d in durations_s]) / 60 / 60, 1), \"hours of data with clipping\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63665880",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6081c2c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "01254380",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "aad380ce",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "526398 german songs found\n"
     ]
    }
   ],
   "source": [
    "song_paths_de = []\n",
    "with open(os.path.join(DATA_DIR, \"artist_songs.jsonl\")) as f:\n",
    "    for line in f:\n",
    "        line = line.strip()\n",
    "        if len(line) == 0:\n",
    "            continue\n",
    "        m = json.loads(line)\n",
    "        if m is None or m[\"song_metas\"] is None:\n",
    "            continue\n",
    "        for mm in m[\"song_metas\"]:\n",
    "            if mm[\"language\"] == \"de\" and mm[\"lyrics_state\"] == \"complete\" and not mm[\"instrumental\"]:\n",
    "                song_paths_de.append(mm[\"path\"])\n",
    "song_paths_de_set = set(song_paths_de)\n",
    "print(len(song_paths_de), \"german songs found\")\n",
    "# 526398 german songs found"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "f1006c98",
   "metadata": {},
   "outputs": [],
   "source": [
    "song_details_de = []\n",
    "with open(\"/data/suno/data/harvest/genius/song_details.jsonl\") as f:\n",
    "    for line in f:\n",
    "        line = line.strip()\n",
    "        if len(line) == 0:\n",
    "            continue\n",
    "        m = json.loads(line)\n",
    "        if m is None or not m[\"success\"] or m[\"meta\"][\"youtube_url\"] is None:\n",
    "            continue\n",
    "        if m[\"song_slug\"] not in song_paths_de_set:\n",
    "            continue\n",
    "        song_details_de.append(m)\n",
    "# 73943 german song details found"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "9edad5dd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "73943 german song details found\n"
     ]
    }
   ],
   "source": [
    "print(len(song_details_de), \"german song details found\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "8b10e0a5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'success': True,\n",
       " 'song_slug': 'Kollegah-lovesong-lyrics',\n",
       " 'meta': {'title': 'Lovesong',\n",
       "  'artist': 'Kollegah',\n",
       "  'lyrics': '[Songtext zu „Lovesong“]\\n\\n[Produced by Jermaine Dupri, Mariah Carey, Manuel Seal]\\n\\n[Intro]\\n[?]\\nJa das ist hier Standard, weio, mutherfucker\\nUnsere Raps gehen unter die Haut\\nBewirken und ficken mit mehr als hunderte Frauen\\nWunder mich kaum, wir sind immer für ein\\' Fick zu haben...\\n[Part 1]\\nDas ist der Lovesong für meine Hoes, egal, ob braun wie Piece oder weiß wie Coke\\nKlein so wie Kylie Minogue oder groß so wie Heidi Klum\\nIhr Lifestyle is\\' so, sie verkaufen ihren Körper damit dieser Motherfucker mit dem Namen Kollegah sich Dinge kaufen kann wie silberne Mercedesse, vergoldete Pistolen oder Villen in Paris für zwei Million\\', yeah\\nSo war und so ist es, nothing but love for my bitches\\nIch bin P-I-M-P, beept mein Handy, kann es sein, dass Scheichs mich call\\'n wegen Business\\nIch vertrau\\' nur meiner Gun an meiner Seite, Kid, ich geh\\' niemals ohne sie raus\\nUnd ich mache mit Coke Bucks, mache mit Dope Bucks, mache mit Hoes Bucks, Bitch, also fick dich\\nDas ist ein romantischer Song, ich hab\\' Hoes an jeder Ecke so wie Guns in der Bronx\\nElegant oder verkommen, Haare lang oder blond oder anders, doch immer mit Schwanz in dem Mund\\nIch trag\\' Silbergeschmeide, Brillies und Seide, Wildlederjacke\\nSilberne Neun-Millimeter-Waffen, ich hab\\' jeden Tag \\'ne neue Hoe wie Bild-Titelseiten\\n\\n[Hook]\\nEy, wozu Majorlabels? Ich verdiene mit Hoes und Crack mein Geld\\nDeutsche Rapper rappen schlecht, denn viele sind homosexuell\\nUnd sie wissen, ich glänze durch bosshaftes Verhalten\\nWenn die Shotgunsalvenechos durch die Vorstadtstraßen hallen\\nEy, wozu Majorlabels? Ich verdiene mit Hoes und Crack mein Geld\\nDeutsche Rapper rappen schlecht, denn viele sind homosexuell\\nUnd sie wissen, ich glänze durch bosshaftes Verhalten\\nWenn die Shotgunsalvenechos durch die Vorstadtstraßen hallen\\n\\n[Part 2]\\nEs ist der real Gee, also was\\nIch komm in deine Street und baller mit der Glock\\nDie Glock und ich das Dreamteam, sieh, du bist ein Fake Gee wie Undercover-Cops\\nIch hab Guns en masse im Handschuhfach vom Benz der von der Farbe zu mei\\'m Anzug passt\\nAlle Bitches sagen zu mir: „Yo Kollegah bitte gib mir die Gelegenheit für dich anzuschaffen“\\nUnd du bist nicht der Rede wert Punk, weil auf deinem Kühler kein Mercedesstern prangt\\nIch nehme die stählerne Gun und bewirke, dass eine Kugel in deinen Schädel gelangt\\nHoes hängen Poster von Kollegah an die Wand ich bin ein motherfucking Superstar und killer wie Cam\\'ron\\nPussyniggas laufen denn die Killer meiner Gang zersieben deinen Body mit \\'ner stählernen Magnum\\nMutterficker, ich zerficke deine Mutter, ficke deine Mutterficker-Gang und gebe keinen fick auf deine Mutter\\nDenn ich bin der Mutterfickerking und ficke Mütter wann ich will und wann es mir passt (äh)\\nUnd die Leute sagen: \"Ey wieso kannst du in einem Lovesong nich\\' mal über Liebe rappen\\nSondern wieder nur über Waffen und Hoes, was ist mit dir los?\"\\nEy, ich habe keine Ahnung, ich weiß nur\\nIch besorg es deiner Mutter wann ich will mir ganz egal wie viele Leute du kennst\\nIch komme mit AK und zersiebe deine ganze Crew mit einer Salve, Motherfucker\\nJeder deiner Freunde zahlt Schutzgeld an mich\\nSieh mich an Kid, ich trage meine Platinkette damit jeder Penner weiß der King is\\' in der Gegend\\nAlso besser geh nach Hause Nigga du musst immer deine Waffe in der Tasche haben wenn du Business machst mit dem Gangsterking',\n",
       "  'youtube_url': 'http://www.youtube.com/watch?v=tsJuuDqHqUI'}}"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "song_details_de[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "ce5a1209",
   "metadata": {},
   "outputs": [],
   "source": [
    "!mkdir /data/suno/data/harvest/genius/de_project"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "1d0a58c7",
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(\"/data/suno/data/harvest/genius/de_project/base_metas.jsonl\", \"w\") as f:\n",
    "    for m in song_details_de:\n",
    "        f.write(json.dumps(m) + \"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2d93bf80",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f6f50ebd",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "0700e082",
   "metadata": {},
   "source": [
    "### get tags"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 261,
   "id": "f44766ad",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 73943/73943 [42:42<00:00, 28.85it/s]\n"
     ]
    }
   ],
   "source": [
    "def _unescape(m):\n",
    "    s = m.group()\n",
    "    return s[:-2]\n",
    "\n",
    "with open(\"/data/suno/data/harvest/genius/de_project/new_metas.jsonl\", \"w\") as f:\n",
    "    f.write(\"\")\n",
    "for n, m in tqdm.tqdm(enumerate(base_metas), total=len(base_metas)):\n",
    "    try:\n",
    "        with gzip.open(os.path.join(HTML_DIR, f\"{m['song_slug']}.txt.gz\")) as f:\n",
    "            raw_html = f.read()\n",
    "        if \"deutschsprachiger-rap\" not in str(raw_html):\n",
    "            continue\n",
    "        json_str = re.search(r\"JSON\\.parse\\(\\'(.+?)\\'\\)\\;\", html.unescape(raw_html.decode(\"utf8\"))).group(1)\n",
    "        json_str = json_str.replace(\"\\\\n\", \"<br>\")\n",
    "        json_str = re.sub(r\"\\\\+\", _unescape, json_str)\n",
    "        parsed_json = json.loads(json_str)\n",
    "        new_meta = {\n",
    "            \"song_slug\": m[\"song_slug\"],\n",
    "            \"meta\": parsed_json,\n",
    "        }\n",
    "    except:\n",
    "        continue\n",
    "    with open(\"/data/suno/data/harvest/genius/de_project/new_metas.jsonl\", \"a\") as f:\n",
    "        f.write(json.dumps(new_meta) + \"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2419025b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# TODO NEXT: send file to other machine and get all the youtube videos"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d7cd647",
   "metadata": {},
   "outputs": [],
   "source": [
    "scp -i ~/.ssh/ec2 new_metas.jsonl georg@18.207.255.230:/data/suno/data/harvest/genius/de_project/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6ccd1b22",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c2375cdb",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cbbbbf96",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f16afc23",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b9b3bb07",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "caae0980",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c20ddb2f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "49a02cbf",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a41764ea",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "81fad00f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "52c5bcea",
   "metadata": {},
   "source": [
    "## Geo Test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "id": "0273539e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "93.115.4.242\n",
      "180.149.6.6\n",
      "152.39.234.221\n",
      "116.212.189.181\n",
      "193.200.105.22\n"
     ]
    }
   ],
   "source": [
    "proxies = {\n",
    "    \"http\": \"http://lum-customer-hl_a8c79c59-zone-rotating-country-us:sx1x95qq6wr0@zproxy.lum-superproxy.io:22225\",\n",
    "    \"https\": \"http://lum-customer-hl_a8c79c59-zone-rotating-country-us:sx1x95qq6wr0@zproxy.lum-superproxy.io:22225\",\n",
    "}\n",
    "\n",
    "for _ in range(5):\n",
    "    url = \"http://ipinfo.io/json\"\n",
    "    r = requests.get(url, proxies=proxies)\n",
    "    data = r.json()\n",
    "    print(data['ip'])\n",
    "    continue\n",
    "    ip_addr = data['ip']\n",
    "    org = data['org']\n",
    "    city = data['city']\n",
    "    country = data['country']\n",
    "    region = data['region']\n",
    "    print(\n",
    "        \"IP : {4} \\nRegion : {1} \\nCountry : {2} \\nCity : {3} \\nOrg : {0}\".format(\n",
    "            org, region, country, city, ip_addr\n",
    "        )\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "207cbd05",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a22599bc",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "245a911e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "83e3a877",
   "metadata": {},
   "source": [
    "## Speed test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "c8b25922",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Downloading downloaded.png\n",
      "image/png\n",
      "221.6142578125 Kb\n",
      "0.049075 Sec\n",
      "Mon, 10 Oct 2022 06:18:11 GMT\n",
      "[==================================================] 334071.0 bps"
     ]
    }
   ],
   "source": [
    "import requests\n",
    "import sys\n",
    "import time\n",
    "\n",
    "\n",
    "link = \"https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png\"\n",
    "file_name = \"downloaded.png\"\n",
    "start = time.time()\n",
    "response = requests.get(link, stream=True)\n",
    "with open(file_name, \"wb\") as f:\n",
    "    print(\"Downloading %s\" % file_name)\n",
    "    response = requests.get(link, stream=True, proxies=proxies)\n",
    "    total_length = int(response.headers.get('content-length'))\n",
    "    print(response.headers[\"content-type\"])\n",
    "    print(total_length / 1024, \"Kb\")\n",
    "    print(int(response.headers[\"Age\"]) * (10 ** -6), \"Sec\")\n",
    "    print(response.headers[\"date\"])\n",
    "\n",
    "    if total_length is None: # no content length header\n",
    "        f.write(response.content)\n",
    "    else:\n",
    "        dl = 0\n",
    "        for data in response.iter_content(chunk_size=4096):\n",
    "            dl += len(data)\n",
    "            f.write(data)\n",
    "            done = int(50 * dl / total_length)\n",
    "            sys.stdout.write(\"\\r[%s%s] %s bps\" % ('=' * done, ' ' * (50-done), dl//(time.time() - start)))\n",
    "            sys.stdout.flush()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "acd4807f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6d946e93",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a0ec149f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a489dc5e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "13dff448",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "44560ee8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import urllib.request\n",
    "\n",
    "proxy_handler = urllib.request.ProxyHandler({\n",
    "    \"http\": super_proxy_url,\n",
    "    \"https\": super_proxy_url,\n",
    "})\n",
    "opener = urllib.request.build_opener(proxy_handler)\n",
    "opener.addheaders = [\n",
    "    (\n",
    "        'User-Agent', \n",
    "        'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',\n",
    "    )\n",
    "]\n",
    "print('Performing request')\n",
    "print(opener.open('https://www.youtube.com/results?search_query=coffee&sp=EgIoAQ%253D%253D').read())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c554f665",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0976a1e4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "cd982fd9",
   "metadata": {},
   "outputs": [],
   "source": [
    "from bs4 import BeautifulSoup\n",
    "s1 = \"\"\"\n",
    "<tbody><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>178.171.113.83</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag nl\"></span><span>NL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>212.80.221.237</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ie\"></span><span>IE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>104.251.88.228</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag sg\"></span><span>SG</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.150.20.114</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag si\"></span><span>SI</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.67.1.152</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag de\"></span><span>DE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>178.171.98.100</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag kr\"></span><span>KR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>94.176.133.86</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag gb\"></span><span>GB</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>94.139.232.228</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag br\"></span><span>BR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>209.20.186.153</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag fr\"></span><span>FR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>94.176.84.186</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag us\"></span><span>US</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>91.245.238.181</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag pt\"></span><span>PT</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>178.171.40.107</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag md\"></span><span>MD</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>85.31.52.111</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ua\"></span><span>UA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>94.139.44.170</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag au\"></span><span>AU</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>93.114.10.129</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag do\"></span><span>DO</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>93.113.125.219</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag za\"></span><span>ZA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>194.53.68.136</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag iq\"></span><span>IQ</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>66.118.42.157</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag by\"></span><span>BY</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.158.215.245</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag kw\"></span><span>KW</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>85.208.148.127</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag mk\"></span><span>MK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>178.171.121.148</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag tw\"></span><span>TW</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>109.198.46.59</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag tr\"></span><span>TR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>92.51.55.104</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ae\"></span><span>AE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>93.114.13.9</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag jo\"></span><span>JO</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>178.171.66.248</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag tm\"></span><span>TM</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>193.56.22.108</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ua\"></span><span>UA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>212.70.31.115</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag au\"></span><span>AU</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.92.86.2</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag kz\"></span><span>KZ</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>204.217.150.244</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag lu\"></span><span>LU</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.148.107.78</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag bo\"></span><span>BO</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>206.232.41.74</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag it\"></span><span>IT</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>93.114.14.118</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag kh\"></span><span>KH</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>86.62.61.34</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag hk\"></span><span>HK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.241.52.55</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag pk\"></span><span>PK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>158.46.181.223</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag il\"></span><span>IL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>43.228.239.130</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag bd\"></span><span>BD</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>193.111.187.187</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag pe\"></span><span>PE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.119.111.225</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag az\"></span><span>AZ</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.143.107.144</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag am\"></span><span>AM</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>185.253.26.25</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ba\"></span><span>BA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>158.46.171.241</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag th\"></span><span>TH</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>89.249.57.90</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag co\"></span><span>CO</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>209.242.222.40</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ms\"></span><span>MS</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.130.122.137</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag im\"></span><span>IM</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.95.130.246</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ma\"></span><span>MA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>95.175.80.37</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag jp\"></span><span>JP</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.225.130.91</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag cr\"></span><span>CR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.61.159.147</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ca\"></span><span>CA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>176.53.216.74</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ru\"></span><span>RU</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>185.251.249.179</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag pl\"></span><span>PL</span></a></span></td></tr></tbody>\n",
    "\"\"\"\n",
    "soup1 = BeautifulSoup(s1)\n",
    "s2 = \"\"\"\n",
    "<tbody><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.225.129.135</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag tn\"></span><span>TN</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.225.128.26</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag sl\"></span><span>SL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.130.123.181</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag om\"></span><span>OM</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>69.85.88.142</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag nz\"></span><span>NZ</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.84.80.151</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag bg\"></span><span>BG</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.187.242.5</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag gr\"></span><span>GR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>158.46.185.73</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag tj\"></span><span>TJ</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>194.5.225.46</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag es\"></span><span>ES</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>185.15.179.92</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag cl\"></span><span>CL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.14.105.177</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ro\"></span><span>RO</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>93.113.53.126</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag jm\"></span><span>JM</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.225.131.81</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag hr\"></span><span>HR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.130.121.44</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag is\"></span><span>IS</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.88.100.166</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag hu\"></span><span>HU</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>209.242.219.17</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag fk\"></span><span>FK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>85.208.149.12</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag rs\"></span><span>RS</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>193.228.72.10</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag mx\"></span><span>MX</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>69.85.92.6</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag vn\"></span><span>VN</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>165.140.198.219</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag dk\"></span><span>DK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>91.132.126.84</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag md\"></span><span>MD</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>161.123.22.105</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag be\"></span><span>BE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>5.253.185.135</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag la\"></span><span>LA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.154.123.5</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag eg\"></span><span>EG</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>204.217.149.11</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ch\"></span><span>CH</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>212.80.202.240</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag se\"></span><span>SE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>109.70.67.88</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag lk\"></span><span>LK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>93.114.5.139</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag id\"></span><span>ID</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>95.214.102.82</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag no\"></span><span>NO</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>178.171.108.21</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ge\"></span><span>GE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>193.106.96.50</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag kg\"></span><span>KG</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.134.106.197</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag al\"></span><span>AL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.134.115.3</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ee\"></span><span>EE</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.130.120.128</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag cy\"></span><span>CY</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>209.242.220.103</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag gs\"></span><span>GS</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>119.13.226.25</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag in\"></span><span>IN</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>5.182.127.179</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ar\"></span><span>AR</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>92.240.206.100</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag pa\"></span><span>PA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.138.235.96</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag cn\"></span><span>CN</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>194.187.36.190</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag sa\"></span><span>SA</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>154.37.69.108</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag at\"></span><span>AT</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.143.174.247</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag sk\"></span><span>SK</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.11.235.50</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag ec\"></span><span>EC</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>185.244.10.123</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag pl\"></span><span>PL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.225.129.214</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag tn\"></span><span>TN</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>103.225.128.37</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag sl\"></span><span>SL</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.92.84.146</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag kz\"></span><span>KZ</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>45.130.123.5</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag om\"></span><span>OM</span></a></span></td></tr><tr class=\"odd ng-scope\"><td><div class=\"zcheckbox \" ga_id=\"zone_ip_row\"><div class=\"zcheckbox_control\"></div></div></td><td>207.230.124.37</td><td class=\"alloc_cn_td\" data-th=\"maxmind\"><span class=\"country_flag f19\"><a href=\"https://www.maxmind.com/en/geoip-demo\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"flag lu\"></span><span>LU</span></a></span></td></tr></tbody>\n",
    "\"\"\"\n",
    "soup2 = BeautifulSoup(s2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "id": "0b8d1188",
   "metadata": {},
   "outputs": [],
   "source": [
    "l = []\n",
    "for e in soup1.findAll(\"td\"):\n",
    "    s = e.get_text().strip()\n",
    "    if len(s) == 0:\n",
    "        continue\n",
    "    l.append(s)\n",
    "for e in soup2.findAll(\"td\"):\n",
    "    s = e.get_text().strip()\n",
    "    if len(s) == 0:\n",
    "        continue\n",
    "    l.append(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "id": "7ed89fd3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'AE': '92.51.55.104',\n",
       " 'AL': '45.134.106.197',\n",
       " 'AM': '45.143.107.144',\n",
       " 'AR': '5.182.127.179',\n",
       " 'AT': '154.37.69.108',\n",
       " 'AU': '94.139.44.170',\n",
       " 'AZ': '103.119.111.225',\n",
       " 'BA': '185.253.26.25',\n",
       " 'BD': '43.228.239.130',\n",
       " 'BE': '161.123.22.105',\n",
       " 'BG': '45.84.80.151',\n",
       " 'BO': '45.148.107.78',\n",
       " 'BR': '94.139.232.228',\n",
       " 'BY': '66.118.42.157',\n",
       " 'CA': '45.61.159.147',\n",
       " 'CH': '204.217.149.11',\n",
       " 'CL': '185.15.179.92',\n",
       " 'CN': '45.138.235.96',\n",
       " 'CO': '89.249.57.90',\n",
       " 'CR': '103.225.130.91',\n",
       " 'CY': '45.130.120.128',\n",
       " 'DE': '45.67.1.152',\n",
       " 'DK': '165.140.198.219',\n",
       " 'DO': '93.114.10.129',\n",
       " 'EC': '45.11.235.50',\n",
       " 'EE': '45.134.115.3',\n",
       " 'EG': '45.154.123.5',\n",
       " 'ES': '194.5.225.46',\n",
       " 'FK': '209.242.219.17',\n",
       " 'FR': '209.20.186.153',\n",
       " 'GB': '94.176.133.86',\n",
       " 'GE': '178.171.108.21',\n",
       " 'GR': '103.187.242.5',\n",
       " 'GS': '209.242.220.103',\n",
       " 'HK': '86.62.61.34',\n",
       " 'HR': '103.225.131.81',\n",
       " 'HU': '45.88.100.166',\n",
       " 'ID': '93.114.5.139',\n",
       " 'IE': '212.80.221.237',\n",
       " 'IL': '158.46.181.223',\n",
       " 'IM': '45.130.122.137',\n",
       " 'IN': '119.13.226.25',\n",
       " 'IQ': '194.53.68.136',\n",
       " 'IS': '45.130.121.44',\n",
       " 'IT': '206.232.41.74',\n",
       " 'JM': '93.113.53.126',\n",
       " 'JO': '93.114.13.9',\n",
       " 'JP': '95.175.80.37',\n",
       " 'KG': '193.106.96.50',\n",
       " 'KH': '93.114.14.118',\n",
       " 'KR': '178.171.98.100',\n",
       " 'KW': '45.158.215.245',\n",
       " 'KZ': '45.92.86.2',\n",
       " 'LA': '5.253.185.135',\n",
       " 'LK': '109.70.67.88',\n",
       " 'LU': '207.230.124.37',\n",
       " 'MA': '45.95.130.246',\n",
       " 'MD': '91.132.126.84',\n",
       " 'MK': '85.208.148.127',\n",
       " 'MS': '209.242.222.40',\n",
       " 'MX': '193.228.72.10',\n",
       " 'NL': '178.171.113.83',\n",
       " 'NO': '95.214.102.82',\n",
       " 'NZ': '69.85.88.142',\n",
       " 'OM': '45.130.123.5',\n",
       " 'PA': '92.240.206.100',\n",
       " 'PE': '193.111.187.187',\n",
       " 'PK': '103.241.52.55',\n",
       " 'PL': '185.251.249.179',\n",
       " 'PT': '91.245.238.181',\n",
       " 'RO': '103.14.105.177',\n",
       " 'RS': '85.208.149.12',\n",
       " 'RU': '176.53.216.74',\n",
       " 'SA': '194.187.36.190',\n",
       " 'SE': '212.80.202.240',\n",
       " 'SG': '104.251.88.228',\n",
       " 'SI': '45.150.20.114',\n",
       " 'SK': '45.143.174.247',\n",
       " 'SL': '103.225.128.37',\n",
       " 'TH': '158.46.171.241',\n",
       " 'TJ': '158.46.185.73',\n",
       " 'TM': '178.171.66.248',\n",
       " 'TN': '103.225.129.214',\n",
       " 'TR': '109.198.46.59',\n",
       " 'TW': '178.171.121.148',\n",
       " 'UA': '85.31.52.111',\n",
       " 'US': '94.176.84.186',\n",
       " 'VN': '69.85.92.6',\n",
       " 'ZA': '93.113.125.219'}"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "{k: v for k, v in sorted(list(zip(l[1::2], l[0::2])))}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7509ad72",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "93785230",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a0056393",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3f217c8e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
