I'm on a team that's working on a number of disease modeling efforts, and we're wanting to collect historical weekly influenza data from the WHO on a number of countries. The data are nominally available at https://apps.who.int/flumart/Default?ReportNo=12, but the website and underlying API are built in a really strange way that make it difficult to scrape.
I am aware of https://github.com/mobinalhassan/WHO-Data-Downloader, which is some nice open source code that's written to collect the data, but it uses Selenium, and I'm hoping to avoid Selenium and just use pure requests since Selenium can be kind of a pain to setup.
The WHO FluMart website
The WHO FluMart website first shows a simple form that allows a user to select 1 or more countries and a time frame of interest, and when the user hits the "Display report" button, the website queries a backend to show data in a table. Depending on the query, it can take 10-30+ seconds for the query to return. Here's a screenshot:
My goal is to collect the data shown in this table for a number of countries.
API oddities (AFAIK)
When a user fills out the form at the top and hits "Display report", a POST request is submitted to https://apps.who.int/flumart/Default?ReportNo=12 that includes the obvious data, as well as some not-obvious data. Here's an example from the above screenshot:
ScriptManager1=ScriptManager1|ctl_ReportViewer$ctl09$Reserved_AsyncLoadTarget
__EVENTTARGET=ctl_ReportViewer$ctl09$Reserved_AsyncLoadTarget
__EVENTARGUMENT
__LASTFOCUS
__VIEWSTATE=ZQnn+KQPTBErZEeAiltLkqQacil1QjaeFOf1IqWbMAPxuMB5LD+uuauz7e+3E5utXo5bc8LrfjT4OVbbQgQWlmgujiYRvA8Rhho2C9oB4ITAK7S/i/PPcxHq/qB0bn3+ew+icHucMe8gi3c+O+Fem8Mmjt4fvHNRD87JqiVw6MVgrqSw3Gj9LAft07Sfs1Jh7XpTqCqa97nP8iTpZD33Vnk8Nnh16SPJ70eGekMUbayZ/nEmmOX+p+M07txepWFCPQs9nhYXAm38a/5tvdOHtRpGpY1d2t7rYgNwuv0Pwf/gZa3yX79sI5J9tm9OLZ1TVlU7TkiYxG5ZhSHtJvHV0ARa2RTWE4pvQULNFJ6opzI/OSDRpjKUXREHNr0dfFCW1nXrZOmKBa/rzns8EEFTesfbHD28QwpWfXxyjKHPa2kOi/cCri1ejiQ1+kBQG5juc3ZhhfYiBwXCb4U6eBhU6VMcsfwHGHM2EXYEaLo85oYYjAh3EBbGQJKjIi9lms40YfsSsjqb25u7Sdja6xsCH5MPMPihRa5gSm2OgqzIS1bsDpO3+JDUh33NnKG/3hYWq/3OECYZ6cvAQpN03lwmD1DRebHJwLq19fkuaa+mNhir58isOKAck/qPNuzvmZvm/nOcFoS6xW18/v0TTylPA07P2M2UMLA0LL6tfOgGlF2fN07Ze/ejSgDX0Xv0Iy8pswrGerIun5pcKxazxEKrPYJ4GQrbWe6pvkZn039EzN/rp6PFgtOOFVqrYrHxHXEbToxeA+Fpe4W9a4RhRsPgE64rHT2qls5/lvon5O0JLWbwh9X8EmFQgHHKTPWktB0G3cXWp+WDiJ0lnh27o6toUj0lUT108GKVYBO5QT0aQe8efFEWidnrZGyAxBV22OXd8Duh0Kdv2KCRoHY3YgKe1OD+93izHXq7r5yEksr7g61EPT8kodlj/NPFpOlgyFP/Oyhd3LWlZeBHGkNtpWg1Si4WzwEe2ummEgDBS/p+e6vLlG67aEoKiaAk4AaJx4J7n4UJj+hOqScKYPPpafToPqV04lo+2n+zBEEPzFQtiESz6SqIuX5W4kGNVt21cBwWRhuk7MrXPHcHmDoiI1bu9mmWTjuXnsaFQLDcZfhtkQnqX8b+w7oBdMXEHMdI6CO6zdchoGRraCinGvQ36FGFRfEJA2cdbaLngwb9GwPr1purdsPoJln9mFeoDsHhwMuXse4T7h+lst5BqYqNM9f2YUGacjh//L0LelwpWHSrxVgjQaY+EnUhAPDkCWkYWkXPEBULz0Y8I8qmZtTm4GCcAs81Kzsu3VNrev1x/aV//II/PecVMF9FkgcrIOw6RG1KOZoSCYu5NxWctVBkNYohRDoXPJm2CXaVTXI+4Qghv4FrGpfyNPfHbDNADX+mtDbrVVV6/SslbEh58oxO15MBjyIG+ecbEUiNk6VRXR37eafaJlP3z5WT4+4wUJXc5LXDSrpQVL3kSplx+er6WbL19UfW7c5+PtKU7IXstykbbi/v8wu0lqpBedBr44Y8qEP9snh1iYshKYU+D73Azi/mPYU1vz098Qd8adEAjT8JPMhzlkwmyKB+iSvBwbM92iaCt2dRJ4n2tiOdT6sxEGDgifjjuWFWGcq8lEHKGylCXzJFyrB7wLExJiCx55h1bSwfej+CqjfeIE0zoO3tamkPjjC4h7R/fSqhcFvlJGFMYY5RfpkiWajZ8rLDB+DU87N/TvppJcHTPi34Gwf1oBSI2vKQIBoU62A/TLPrFtwmslMo0YX417eMBlgicJ/sm+/u46W+PMCiz/XHWaOs+vuiWqJa1p1NnDyLk2oHj4+JSSeG2KqZo5CQDOHfVt1Uqwc600aP5L+c2M+WD3S1FBRD13Yc0chPPFS5n6AjBr1irCWrIEyoEf0RuirTcEXs3hCn5Cf97qZvgkLlqILM5f7z+nWRarLWVERkWBP7OzqiF6dOltCstZh9jEwJ8V8lwf19Qj21SON1k96nnXG0/W5stBlDrtP0lTRIOy+0tDcQg1oPL3FsW2zBEaxoTHGG0QxuOmE8gXlFqnK2GXXKW70q/YZaQJusl3bBhZV0YMcbZChZXaLkdP8DvIovCcC8NO4fg4T43eyOQpsuwaZ2f+l277wMdV+iZKaGzip7K1cRzkuXpeO8ceQO0g60XjQ1XVk8T2SUAgmeuvIVGJM8bBeUn9Ah7hu/ZKebiE+Kp0U5zUWISPRhQzWVLOisyS0zlC3hOFEkrIPzW6WZKM5iw28kwX04/pXfqxHqyjx1qbdB2urdAOZOHYl6VE5BDD5pCV7tvJ5ymIkHSsT/w8x742gLZoP9qIz38u8ZTfgjbey/3kHxQUS3c1EaO9eOl320As2r76WDxGMCz2fv5eGcAdxijVAxm5O4nzLYj9hM58rJDW6RkTdt5haG+YwOnEoMzOCY6cno4V0JgKa5XoMiJygjPoKNfbJ1HO30zumi/wUOTyhDz9FYXsFWUVEN9PGIpre55WyVx//6f2rkCaiXWSgtOYicGsoE8Jl3MdsuyFWsOmBV45vpv3a8ajrgq23IMhaRGQPB3sLNcqIg4Ev1xKhy6Fr7q3h1RyjVs4mmOMj7jmBqgFzuyJmM3Bt0WgJHEgfDcFVkcG0g+pklt3QE2YeGyUMfHf3s+EmwOcYg6/PZod4xaLVBvlJlG1SYF9q5t0Pl3pdlRa/QIX7ChxRHTEuGyi25LwQKbHiHVeTQDTxq4FGyIF+jTboyZlS9VP9RVc1bA94lc8gebbArX1bRDUU/Pi0YQHUlE4XweoN/V1IRPT1pTmn6oZFc5LdvV/127PKC+VgSQRP0o5Iq+g7gSLHV7yAEqa7Hc+aqRZczeGhWcIB5RkXSiOhBMNaRGiVY9YDaJe4HnTjCTH/ArPlYYO/y3aO7bwExO0hennXvMFZ3Ks3I+bflK0kju0ondc2N6hre0V7+3MdaxVDzXz70TlVZrY1caRjJcUmaJlt0tt3dLhfN3Q0mI8ME2gFiEH1gbLFrWRqa1J+x0+RMkRL8X1VOmQlGkfIRq0NbX+exgqM+BbMrRj5t/UiWitn8DP1sSQYEJ0hB5sG15Vw3I48zynr5Qr+bC7H6TxnzXWJod7Sei6QSrB+OZ8dwrw5aDOhxNXQzBznE9kOak/cYGVDuZs+xu2uBeMYTBryCjshX4h/2CHWcJ1yJrwS4V5LgX5xgMPg2qhVCSwMddng6wtjWlGXaTpeNdfBDzwXs3yWilwdsIbujzl0DPaJlDIPY8sG1HEARVCAW4HaBTJmgggwugTpJBx2Bjj1KlcGjDCwdwpWHMkzJ30pbFYaJByZK3fk0OG+J0UoRoZ/aZxMbUPScUP6VvTuyHEMOY8C59XEeeVo5e/xSWphkcdcjcrNAfDyj6PR6JwrsOdvdbJqC6Vzm7De0YCDQYBNphbIa/HEN2nLeFkSZp5uuyszlfVHAurVNtONuMr5grfgTp8Q4lTGGVmZEndvcTdTYYevEmDMaXKfyPeCOhsiWYMKfrySgl6gkdHCnc9ODuv+IJJiWdD2/wJh68eRBYdIOA5qchEo4Dk9HoWEpR7VlJOKYTcj4MwQAk3LzhJxKDRGslrDtEkK+W8xeZjsDpJQTQtmESTj8B+RmCGgN5FqTDM2poIkXL3WMOUf2KUd2DLNzVSwHA/JWCbglneQRvdVYSPk9nk3Fwmsba22rSVFAjqStTT8kTWatEXtPSGZKkn+b4CbnY7+K0Zvd6BuLbOLSdnUiPNdR+jfvIEl08hwBaegXf4tvdofUFmlg5+liEd5cF9XUMb1vJyP3oqoP5RsHxsvLIjwa9c+Q/cJPRrsebX7XU/bIO5DtkjUmc5A60h+uankOJBsuJpf3gDcYOeilMT6ZIsivJtswUEBnCBOzyyoxJAIXrmoQ/upPuk0/X8bPtH2F1SXVdvYMMIJP1HREMGykOX02OXHHAj82Hu7bEHS60i73+xouUXZbbgmFSaQo9e5RvGKb0l9Y7a40BqcCIjo8BXTOCY4wwLlPg6yGV9ZE7U0b661v/0E0w41xw0xKqXGp2Zw2B/Yuy96F9FnzRDdSfbEPd93aCh78EsYzTUGNmZoOEtMvIIJq9Gf0Nj99uDvkaGvZn7Fw9Uj+h28z5ERsuNEZgnjmgsctDlUqtoTi/aQXdDUFSp7v40vKqOi6QWYq7bpVufPaTPSkqGZyGRDgqdm23abZAfpBfeMpnoHiYT6BH3vRTFJHITKjAuf295Zjcv0j9XMiW8Fx6GFPWSiCJgh6b+AcfVy3fiWfoA55EpbMV33x8YuXujALWYMqz2xwxX3duMlqDiBaZ++f7BY6NV2jVApqUOZLacflmXbbWP3z92yB7XpF02iSl3on3+x4CbtOMIhKGLskoxYYy6Yj7sLsLq03wNXcqr89bQU/diDIIj/HrBz5NExqjuVN1xdmdRu8Qx1n9X3fBaT1T7T87RGXSRc3sqHLS8JO1uGzrM1D8yaPG4Tccj3Dh35Log9/miJ3whoElBojtkYCY0N0G7PQAlvOB5TsFGJ0BVCNFhC87YTlUe555HbO36kO2H0MSUXjgJwDKAQr5uRXMeGfSLrFaWdWWmFtScESHQA5yKeNDoBtCMTAFu06M+N4PuNwNT7EZaiqjJN000Z7afJEjP5BcdJ7s1vo+WMfXDmFOVU5crh1By2W8KBr82rOeUYTLiHjnbMcRvnEYR8nI3Fp9CICP1jjvShwS2zRH+uV8GTdG7CyBmYwvpM1Rf81SjpTHjyeH3Vyo+RaugLXsPWNsm1ef8VzTEE5cNbrXBlIWNkUlRolaE3uOK7pKIs/YZk50BcC9KJwcHS2qeeCwTQjF9YydIG6hKhBtFYKLa5rsxmNideG4KuzWzGBXFlGBgzhuDfDKKlyIHb0+7+v6Ii9yMIRMwNQjW70VffLXALP770RSS0nvfQKRUJrRhVytS3O+N7eNSltVgqSEo22yaQx+NDGNm369stOL4MO/cipbpGSTt9MffIKFoSFDJaEt/Snuv9EbYaYR2SbcRueUtBtPk7oEhsT1Xb+WrNpqFbfRR1tiYtIs26bAMBIbxH1g7Y9jK5BG+MPWegU1S/X2MCURqaBIVxv3a1taTc28ZmOiKo7WroUnuVg27E/sWlPZhnLc9ht8AYTSK5aR1IJf7T+T8xi0UT80o+c0Plpaia973lwEWEDkBhrkDgnKhyzrXs+b/+ejgjsEN5Jq9MVlBtHAfXKK3jnKNubnsGcYFRmLobuQg/aBBX4Wm/40xByMRzKBwdVGRo/1H1/I5z9/snNdtvvrKIBBUgMiy6+mHEPfTrVw8gkL6wsPQEEKFT3ncmer4juAY3YRoe6EM0QNGSyj4Rmc5yiXIx4OD35rDAS6srTBcesvLm47XWnqdoeWiCbc67XAW+pNK5rBJVibPD8GIue1//O+L96dkEHs0uBw3OqFc2wD978RJKVZHqVgPjCgkgwZmJxqeHiPkSeWJ29CWcXgSexX4FEmyuAQ8Oo3jfeqthZ4ZUIgm6sm7VggQNKgyAIWTYahCx/CMWAeacjLTC+NTiXIka3FvgRMZK18IDODA7kbJQ5BVEVtjIDKdMMrpRt9qIUh4+BZskTQXH3+1I/HmPYmZ9waw/OM/5UD0zhh/6KcHactFaRZe67rXwDKZIyTpBSlo+nr0g289K7a6pMTvUc0iVE/A1grlWjjPzTBVf0NL7zFfzTHBHC6Ac7AgMsf19c90rAXS0HlnJLkpn1hCLHpCe4MaqDCoYrUpoAn1F6hfgfBaA/T0DcJpFHjRS2WLfWGPCmzyutj961Gw4zFll3JqYWa1ep8BUW78GmSf1zoLeMhc1/XB/2uIE8xgRR+wYfZW8U80iXs0Vt73nKqJLAk/Lnti+cnbKGioi23PERevEuKPWmz3hr7vVJkNYylL6pvtKCKWALn8DJp8tJr0uQRFNnEbVvZMxaUissLDLCRZaynmOfWHwuewl6Ajr/zbwRU2NuQV0CXHzH1IuzUvTvAPDnufheBiyJN+14x7q0g3kH6/uoz4EdkR90rubDzydNrYAm1QfyiGl4SjjfmKDujz/g1ecsx1EGE2XA9SyaU2tbj4JN06By87X7F3Rex4UvpjdxGdXaVMHdV0K+S7qGbrOdYy9VwG/exlkewukYzzyr167lYtj4BIcqz6eve3qgmMMiQ4mrihxrqOCYLvIdLfgUmJJ+CmDUl0DLyVvMivcogeNL+aZMNF1rlQw2boI0mbDR6zOAJBpAVZ+6uNqSbQstrc2k1xmGxVqaHCBAov7rxcI+yq0zTQicCiFzemZzAv/Ha7Q5tRnxmCWXCxUqFplVK4ROABp8Mnd+GIxY0sxPhxrt2H4z5sZZgGwK4aa0t4h5QkP2pf9tzleYzYxJc0zCtoLoeKUHmMKqXTCkv93n7DyPveIfzL5BL3rVquaFSKPsDYWtXLQreuPIGITLfxJF5DtfsOM+MBc702c8Qof/7RLhOoXJ+VajCOu8gMPEZKX36sPodC5k/ce3DLceAbjFIOnpekPxD8FPFA3sjabZ/i2UnrhO6ORDlU4pljI15xtutr4ajPlPHMKIcIZnrNwWsAGhEiQZ96kcojTJlIyLKQRziqFOFQ/1u+JL7LWEuY4C9cQWIgrJbiUKgX60dr2dCab+C2dfvZhXcjMYwqJE7F80VwRHCTo5C0YnB9Yv10nonYVEiEjNi0+wgc+RlNGiHx3Hq4mX9pq/5S/Og7nexJxkeN4Fe7Eyz+4qUrK7vENghZvetfINPEXPVSC6MwQyzjrqCZC9j64Ju2S1sH1lf9KC6tlo/a+aJhRPyhAqr7V0CKU0cmpVexuZj5KMRSJdASKiCCpryJPLZPX78yiF991TfAJszGeWYjPvGSCDM9OQWfHIZn/hfHXvzWZmdcsmuKru/cWcT0uCPg5zRvokE6eJLr/kjgwL7tC9v0f0BadbaVYVCeQioT60ivZ//DVRcd8O27XhS3Sq3fLKLz2U7bJYBzCzBcM+SdRZc50oQupZpcZFA91bX+TSkPf7jmEgwLiRuw9w1keXs1nKyRx6H8bYuYwaII20NwR/bw2oYOIv5p++Qp23om90PsE9nmtLO3sbCjoFiixspYvqC5m2BsUi2K/XyTQrbfhpsir3hMbvJXUWUo7kFRY4dbKnu2kY7uHUKQN1aFwiLOdNnXdWd/P52VKQydzEbcW0VP0egziME/CdeIcJJRQZaFepjk3uVCgmbsYvEvJF+TZHJMIqby/q2sC2qkjKCiIV628deJrPOIKi3C3moPPB3FJ+PWK90a8koY4nQd7uCHK7/cM+Nw+bwtcsjdVFD4fpwhka06qlJGz9f9sQ4b+pJCRm4+HdfQYf4XCA5fy+NSKmzDg3pQyCdAn8ivCCyh3Oh+1TsvKMVU6pvn5kmLeXjg3A6KZ0/ygTR/Ura7s7oRr+W7YTBfP7oMdyS79QaL3Vu/NSjf//E/GfZifuDmNHQVFoEArn9pLYbWsvGEdp8eCeyV3Zm2KZEh7BPt+aqV1ML416EBgeAsWj7O0gyPvVicL3j/7htogBh072ddg1DeUDlVYth0+pXb3E4EXqKdnUx7ntYHE9Ylaflb6Yp9SisMrQGVOw0S4jdBjaGUkxzWnU/kch6nprAxqyzQrxPNcySTcoiJoNcR0+HTsAbeDTlhs6CRHdB5IJ+LLOyRIA7el14PYKVMldWUvU+JVSupdmUfKobVMCeYPzGa7hADxbhehJKFKpRt/ZjGRCY4VJiJxI4PPzE6WyBiDKzeh4CpE16cbos0DVk33LWlrnsXGewdKcT/dWfaErGm+nSWAqKSLj9fzYFcwBXAOxpGp5WazsjWFADWFShF0vXQD59xq1gR2PQA+q9IkyU+U0c+cx+fACOzC/dOq+sIT2SW9ebFKylELPsu5x1GWgyRoDmCL8ysLueJnMynWA07pIgJXSIyFh1o/di8uSqKqUFSik9a+rPAXpfx4Bskb6ld95KRouY6NfXlx/mtdYOWvdGvMPXgdyGC+725vF9Av3rmybs2+ZmTyrpRlDbTwy8o71hWJLQzRm54Q6Z0AYvYKqcNGG+/0IESzbSjMOz1RoedglK4oje4JaYpbppWSAvOn80R52GFw2l1W/373tvjiuqdHWuBpCKGVI/58KMCr9eXd0UXnSJvKWuH/limDKR5vt/Rr1+OZ9lk4nl6rdot77tZUl9FMjSh5lmL3N40bs6xPZRlETpPlRfTS6HPTxSB/7FPmSMAS6F3UAVGQi4Zw+XTd1F0tjB/TRUvKKJ+fhyKvBVu2ZawPsNZcqxor0GBKf6hWC2M/54NBkcu8SL3FfDdSSHuiHDcHDicX0kKti98LW9wxR7zvyMdFjQVaY/6U16+XG4IEEVdpO27lFctIaUM4sthDooh+ndwEYbOC9FSdbL+4TL6nim3v7yeSmAx+7CfdUucIekprQMyBa6sSKXlzZpdLQHKH7WCtami8DpcXWRwx4naG4JroHIYRXkS+z6E556mCp2R4uOGguQCEN5x2aE4OzwsqQ5PQl7m3/3TJBd9hGC9mc0fPipxZ4L3aTuPoh8s+ghSrpIUYo9RjUff/m5ekGvq4aMSuqGn5ScSFyw3d1C7fmiHYZE+E2n1QReG1gf1JqZY2cmj0gZJS0My6nzpL+hKD2keFxWdeI3RebQi1ExxNvnPuwnTJR/Ar07JmMndmnhjtNSRa/5kRyjbmzgXf5GPqMJN1qbIhRbPaIHG5oCT1mmQgOmhiw3MnggLnWm1vwxGUisSeyH7UqIpCG4jtGEJbqiO7NhzpM/LORXCAe6u+c435U1YkfI5vNuJmA1phfbV84IBR3yu2Vng/hASaNK5ru07ggEWHxCLWHb2nW4Glw287tKO8U1oCal2TgxwG0y/uQBlLgtKbiXT8ntHJKmBx1zBHlNR5D7TxLNH3bOWQ4rR2N/Qgex/ZMyQ+m1whcYbx3Qdi6e0i1bB3AMmSrDMWm+hMdf0nAltwMSF6j0a6SEqvphfO55TtuxOO7mX5cxCnd9FY5HzEjs9T6l45yBcWqzseou9ooOgDuwE/7eAXONnnzAmSMF0Sx+oipWIOzgTb4hbKtCosD/jbqiDKUV6WSs/VUv2ejI+FLXNvaApVvpVc8g2OSO9AafW+cJjHz4iX7sHrSugSk1TXp66LKHN6/4J7wLU/kJOsWhd6jKUHoWd66PN7XfgA2xnIGdmkG0quwbIvRBCBlG417N1mj5n2NRtOiJL9snmpT89xAfu4uysMMs9H6zajTzf4iOmgGkBJK09b4bmj/rrGqT2yCtKCRehc5R9MsMicYl0A9eMAX50+2StSO0S4qBK8pV4xMTazEjk06el3fS92kC7iaiyEAlEz/Ippisxd9ga48IQXiGg/+e1ifVEBsMnmq+VHJTJXYvDzw8D4eFi3AkTwUNb4aiETUSfV9mwKuK7QW7Z4+Eg3biw5rbJH3unAwweFdZdooZaqSZAEtMUWqZN3d7PCmd+Y4LmDciVaHmBuFGBoN18wtwTxfsoPF+XRgFtrEp8oFRmZeliMJcLa3CY9UkgHvtxmyBYInisgSAo6S7N/VXU7baYX9hrtY/CGphLuM93WWGPezfwl0aXbgjJkQy6I3pKANJ1G5qzvzYKmzoF+sDpSHhNIx9sjqN8eIlfJ+4RtMk0155KQflrn5iKMkjSBDzC8iCRF0eKwGzwyAFFC7wTsRFm55a84FxJIJRnoi1TLPbowT+7AsEwjU6BWHieyTCkO/BhwewPzVOjMoh87KfR3HAAtLJJUqDSlhTorrsYdA3vSIRf9+T7QnmkRCFUAPC5lG5HcOZwWQ/GmXNbq2QodRBB+IF5WyGRiKh8SBwOXMkJQS+h8u0TWkZ09/U7grBsjPX9qVzp7RPz3dg3aO4ZIum2CPv3D9IBUeHS0/aCOCBfRflS37a6xl7CasHUpQ9Z6PFDzm2/9hlsZhgepuQCFNQnu4izndHv7cvq7E64RcDAI5MH9I69ymOd2dCoxjvF6P/icItPic+O5BwUpcePF1CelpC6Y3efu3dTLG0+mvX1MvQQN+EzusB26HSU3I9lMkrrbT7bRJpLv8fz4RjCVsBHgBgygNS5QpwU2lRdMb2nXqZbDUK19gHxohlFVbG9sQMC60wfrvFdTeGSUyy1gPVebiAwFom0L+fO+rZsMkxE1j9gV4zOaWNAhOsMch2vMqLCGVFZDukd9MtzG8sXQMKAGsbqZxVu/p/ddnHXd3s6aWF+1KSwIPOqLtcNC4wX2rvSklJj970vpz4LhIszyXOe9bTxUDrcwOpXMvMk56RhHrIqzo1HulmZs2GMSE0bI9lTPN0dkCnzkYT/ftF8hV/79HJLqjRhx38GqYRDCguRsl0mqKQuF0N6YpQmn1TPRqkQQ2cOuHZANMVr8VG2fCNe64K2zGvb47/xl1Yj6Uvl9XK56wMXgCAAo8Dmblt2XqEl9ZLu+vtgRW1tb4Mt6/si4uz5yxGPcMN5B+JOB0hp/Skmks8TQSHKd5jqoUfzI9nWbe/SWZA0JXq5afdzvdqQcwsM4p5aCI8rIfaTIiGI+JQEEf1DANRjZd4jfSzJY2tGX15ZcgH/cvgIPQVUAQE2JLyeKdaLVMPnxB7+GN6P3dN73ooQiQ3QyeVeKzwV1/8xSE3D6Ho/KEw9x6BjFbQRu6s3kfVHuhbqUgp+et0/6jrLr8TlNJUcjjyKECfiRtfWGVdCrMqjN8zc8Nce60IBlMD9zjkbEeFmgVRULXrR0XLxifYg6ms0Q1B4A2hDBZSeLrgXTKfHloXNFvM67zm/vB0OHsFA2L6w3UAz80cgB3zUzoCJIr2giONutEjZ8n09gN8Wrga2gNmDaamlRlxyNFXhxfgjXjp9YFtO4jifSAvbJylVVipYrnflhlNNCiFnMBMiZdgtXae5oTforXmPgD4jz3Xx1fSYDn4u3NoIfTDZeTKC0lk9tpDPkf1kpzju30VAnm0XwOpA06CeSOU9JYDQCEkTQAhZMM+M7rmjdrt0kZsJ5hPY2qsNS0689KWwc+xjwoJOw/GukXvDlvutFwGdVOSojM27moXYIu0NRy9YBwPAhQyInVaZdY809f8oEjv3tdWQw7KqF7w5aN4QiLFkMNyQPYk3/WJjyQ2wwautM84msJx3Vtf6OqOMHEPpCfT91yj4a9yPMtF23RftDnqrDhSANrycLy2U5bNAJfW9ku0Ud0/+1PSmLyFnxNTHV0lVEGzI93IC6kyXjcvHHwIIv0gnkfLH3K6hWnyCaFD5uzWbRMHKnqgNtr4gv3pHHSqwFHsf4OQ3exVxKeGlHXaGbaV6syGJjC7go1rff+tLslQlmVJayCbbkpOfLtcKl3GXx1l0xKg9uhq90uh+PZEKUx9HFSgEfxT4vOSyZErSBY9zGyJaX+ZFcN5D7j3qvkrDA3TJDRasOyaVV5QmqIcrvPSLIq1bm9NNNlOEyEpuC0WEUpsSsqUQpMtF+efp/qcX8Ja9OxOtAtbB7ErEtoPiXjcKkj90G7/TJ1RJ5x+IStycvD6G7AZsymb6tHzizYMPthIvnb8Hdgg9Axl67/BtdqI2L7zCHtFa7Jbs+btRoXvgwrYsZxb0EP
__VIEWSTATEGENERATOR=15FCE702
__EVENTVALIDATION=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
ddlFilterBy=1
lstSearchBy=Mexico
ctl_list_YearFrom=2017
ctl_list_WeekFrom=1
ctl_list_YearTo=2021
ctl_list_WeekTo=53
ctl_ReportViewer$ctl03$ctl00
ctl_ReportViewer$ctl03$ctl01
ctl_ReportViewer$ctl10=ltr
ctl_ReportViewer$ctl11=standards
ctl_ReportViewer$AsyncWait$HiddenCancelField=False
ctl_ReportViewer$ctl04$ctl03$ddValue=1
ctl_ReportViewer$ctl04$ctl05$ddValue=1
ctl_ReportViewer$ToggleParam$store
ctl_ReportViewer$ToggleParam$collapse=false
ctl_ReportViewer$ctl05$ctl00$CurrentPage
ctl_ReportViewer$ctl05$ctl03$ctl00
ctl_ReportViewer$ctl08$ClientClickedId
ctl_ReportViewer$ctl07$store
ctl_ReportViewer$ctl07$collapse=false
ctl_ReportViewer$ctl09$VisibilityState$ctl00=None
ctl_ReportViewer$ctl09$ScrollPosition
ctl_ReportViewer$ctl09$ReportControl$ctl02
ctl_ReportViewer$ctl09$ReportControl$ctl03
ctl_ReportViewer$ctl09$ReportControl$ctl04=100
__ASYNCPOST=true
I figured that I could whip out requests and issue a simple query like this:
import requests
with requests.Session() as s:
data = {'lstSearchBy': 'Mexico',
'ctl_list_YearFrom': '2017',
'ctl_list_WeekFrom': '1',
'ctl_list_YearTo': '2021',
'ctl_list_WeekTo': '53'}
r = s.post('https://apps.who.int/flumart/Default?ReportNo=12', data=data)
print(r.text)
Unfortunately, rather than returning the table in the screenshot, this query simply returns the form at the top of the screenshot. At this point, I start to think that some of those other POST parameters must actually be required (__EVENTTARGET, __VIEWSTATE, __VIEWSTATEGENERATOR, etc.).
Looking at the original form that's returned when I visit https://apps.who.int/flumart/Default?ReportNo=12, I see this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title>
WHO FLUMART OUTPUTS
</title></head>
<body>
<form method="post" action="./Default?ReportNo=12" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="u38eXuRq1rlncPtmBq04xgVPASJukKZ8QVDUb
...
(this is truncated for brevity)
Here, there are a number of hidden inputs with names that correspond to the POST request that Firefox issues (__EVENTTARGET, __EVENTARGUMENT, __LASTFOCUS, __EVENTVALIDATION, etc.). This made me think that what I could do is just grab those values and then tack them onto the POST data like this:
import requests
from bs4 import BeautifulSoup
with requests.Session() as s:
r = s.get('https://apps.who.int/flumart/Default?ReportNo=12')
soup = BeautifulSoup(r.text, 'lxml')
data = {'lstSearchBy': 'Mexico',
'ctl_list_YearFrom': '2017',
'ctl_list_WeekFrom': '1',
'ctl_list_YearTo': '2021',
'ctl_list_WeekTo': '53'}
hidden_inputs = soup.find_all('input', {'type': 'hidden'})
for i in hidden_inputs:
data.update({i['id']: i['value']})
r = s.post('https://apps.who.int/flumart/Default?ReportNo=12', data=data)
print(r.text)
But this unfortunately doesn't work either; I just get the same submission form.
How could I grab the table that's produced in the screenshot?
