{"id":8351,"date":"2023-05-20T17:17:18","date_gmt":"2023-05-20T15:17:18","guid":{"rendered":"https:\/\/www.mathweb.fr\/euclide\/?p=8351"},"modified":"2023-05-22T14:24:41","modified_gmt":"2023-05-22T12:24:41","slug":"netflix-quelles-sont-vos-series-preferees","status":"publish","type":"post","link":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/","title":{"rendered":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l&#8217;aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.<\/p>\n\n\n\n<!--more-->\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Au menu sur cette page...<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Netflix_vos_series_preferees_vos_donnees_personnelles_avant_tout\" >Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es: vos donn\u00e9es personnelles avant tout<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Netflix_vos_series_preferees_classees_en_fonction_du_temps_de_visionnage\" >Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es class\u00e9es en fonction du temps de visionnage<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Netflix_vos_series_preferees_obtectifs_du_programme_Python\" >Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es: obtectifs du programme Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Extraction_des_titres_du_fichiers_CSV\" >Extraction des titres du fichiers CSV<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Le_programme\" >Le programme<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Netflix_vos_series_reellement_preferees_classees_en_fonction_du_temps_de_visionnage\" >Netflix, vos s\u00e9ries r\u00e9ellement pr\u00e9f\u00e9r\u00e9es class\u00e9es en fonction du temps de visionnage<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Preliminaires%E2%80%A6_parce_quil_faut_bien_y_aller_doucement_pour_commencer%E2%80%A6\" >Pr\u00e9liminaires&#8230; parce qu&#8217;il faut bien y aller doucement pour commencer&#8230;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#Le_programme_complet\" >Le programme complet<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Netflix_vos_series_preferees_vos_donnees_personnelles_avant_tout\"><\/span>Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es: vos donn\u00e9es personnelles avant tout<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Lorsque vous avez un compte Netflix, vous avez la possibilit\u00e9 de demander \u00e0 la soci\u00e9t\u00e9 de vous envoyer toutes les donn\u00e9es vous concernant (c&#8217;est la loi en France). Personnellement, il m&#8217;a fallu attendre moins de 12 heures pour les recevoir. Mais un message affirme que cela peut prendre jusqu&#8217;\u00e0 30 jours&#8230; On se demande pourquoi mais si ce message est affich\u00e9, c&#8217;est qu&#8217;il y a une bonne raison (si les millions d&#8217;abonn\u00e9s demandent en m\u00eame temps l&#8217;envoie de leurs donn\u00e9es personnelles, en effet, cela risque de cr\u00e9er un bel embouteillage num\u00e9rique sur leurs serveurs).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"241\" height=\"220\" src=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/image.png\" alt=\"Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es: logo\" class=\"wp-image-8352\"\/><\/figure>\n<\/div>\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Ces donn\u00e9es se pr\u00e9sentent sous la forme d&#8217;un fichier compress\u00e9 au format ZIP qui, une fois d\u00e9compress\u00e9s, donne un dossier &#8220;netflix-report&#8221; contenant ceci:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-medium\"><a href=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/image-1.png\" data-fancybox=\"gallery\"><img loading=\"lazy\" decoding=\"async\" width=\"164\" height=\"300\" src=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/image-1-164x300.png\" alt=\"Netflix, s\u00e9ries pr\u00e9f\u00e9r\u00e9es: fichier d\u00e9compress\u00e9\" class=\"wp-image-8353\" srcset=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/image-1-164x300.png 164w, https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/image-1.png 223w\" sizes=\"auto, (max-width: 164px) 100vw, 164px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">C&#8217;est dans le r\u00e9pertoire &#8220;CONTENT_INTERACTION&#8221; que l&#8217;on va trouver notre bonheur. En effet, c&#8217;est lui qui contient:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>un fichier &#8220;ViewingActivity.csv&#8221; qui contient tout ce que vous avez vu sur la plateforme;<\/li>\n\n\n\n<li>un fichier &#8220;Ratings.csv&#8221; qui contient vos \u00e9valuations (&#8220;je n&#8217;aime pas&#8221;, &#8220;j&#8217;aime&#8221;, &#8220;j&#8217;adore&#8221;).<\/li>\n<\/ul>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Dans un premier temps, nous allons nous pencher sur le premier fichier et classer les \u0153uvres en fonction du temps que vous avez pass\u00e9 \u00e0 les regarder; la logique utilis\u00e9e alors est celle qui consiste \u00e0 affirmer que plus on passe de temps \u00e0 regarder une \u0153uvre, plus elle nous int\u00e9resse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Netflix_vos_series_preferees_classees_en_fonction_du_temps_de_visionnage\"><\/span>Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es class\u00e9es en fonction du temps de visionnage<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Netflix_vos_series_preferees_obtectifs_du_programme_Python\"><\/span>Netflix, vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es: obtectifs du programme Python<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Comme vous me connaissez peut-\u00eatre \u00e0 travers d&#8217;autres articles, vous vous doutez que je vais utiliser Python.<\/p>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">L&#8217;id\u00e9e est alors la suivante:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>on ouvre le fichier &#8220;ViewingActivity.csv&#8221;<\/li>\n\n\n\n<li>\u00e0 l&#8217;aide du module <em>csv<\/em>, on lit ce qu&#8217;il y a dedans (mais on n&#8217;est pas du tout oblig\u00e9 d&#8217;utiliser ce module pour si peu en fait&#8230;);<\/li>\n\n\n\n<li>on cr\u00e9e un dictionnaire nomm\u00e9 <em>titres<\/em> dans lequel les cl\u00e9s seront les titres des \u0153uvres et les valeurs, le temps total de visionnage exprim\u00e9 en secondes;<\/li>\n\n\n\n<li>on trie suivant les valeurs et par ordre d\u00e9croissant le dictionnaire pour ainsi cr\u00e9er une liste ordonn\u00e9e des \u0153uvres.<\/li>\n\n\n\n<li>on ins\u00e8re les entr\u00e9es de cette liste dans un fichier txt.<\/li>\n<\/ul>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Le plus chiant sera d&#8217;extraire les titres&#8230; et vous allez vite comprendre pourquoi en regardant la t\u00eate du fichier CSV initial.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Extraction_des_titres_du_fichiers_CSV\"><\/span>Extraction des titres du fichiers CSV<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Quand on ouvre le fichier &#8220;ViewingActivity.csv&#8221;, \u00e0 l&#8217;aide d&#8217;un tableur (c&#8217;est beaucoup plus lisible), on voit que le format des titres diff\u00e8re un peu selon que l&#8217;on regarde une s\u00e9rie ou un film.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si c&#8217;est une s\u00e9rie, le format est: &#8220;&lt;titre&gt;:&lt;saison&gt;:&lt;titre de l&#8217;\u00e9pisode&gt;&#8221;<\/li>\n\n\n\n<li>Si c&#8217;est un film, le format est: &#8220;&lt;titre&gt;&#8221;<\/li>\n<\/ul>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">J&#8217;aimerais ne garder que le titre principal. Vous allez me dire qu&#8217;il n&#8217;y a rien de plus simple car en splitant en fonction du caract\u00e8re &#8220;:&#8221;&#8230; sauf que certains titres comportent eux-m\u00eames des &#8220;:&#8221;&#8230; et puis, tous les titres ne sont pas aux m\u00eames formats! Certains comportent la mention &#8220;Saison&#8221;, &#8220;Volume&#8217;, &#8220;Season&#8221; en premier, d&#8217;autres en deuxi\u00e8me&#8230; Bref, c&#8217;est la merde ! Et je ne parle pas des titres qui changent de nomenclature d&#8217;une saison \u00e0 l&#8217;autre (comme &#8220;Stranger things&#8221;). <\/p>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">L\u00e0, il a fallu pas mal de boulot&#8230; et je ne suis pas s\u00fbr d&#8217;avoir pens\u00e9 \u00e0 tout!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Le_programme\"><\/span>Le programme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Vous l&#8217;attendiez comme comme un cancre attend sa premi\u00e8re bonne note, voici le programme Python:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import csv\nimport datetime\n\n# fonction qui convertit les secondes en jours, heures, minutes et secondes\ndef convert(d):\n    j = d \/\/ 86400\n    h = (d - 86400*j) \/\/ 3600\n    m = (d - 86400*j - 3600*h) \/\/ 60\n    s = d - 86400*j - 3600*h - 60*m\n    \n    return j,h,m,s\n\n# fichier CSV dans \"CONTENT_INTERACTION\"\n\nf = open('ViewingActivity.csv' , encoding = 'utf8')\nresult = csv.reader(f)\n\ntitres = {}\nc = 0\n    \nfor liste in result:\n    if c != 0:\n        duree_tmp = datetime.datetime.strptime(liste[2], \"%H:%M:%S\")\n        duree = 3600*duree_tmp.hour + 60*duree_tmp.minute + duree_tmp.second\n        L_titre = liste[4].split(':')\n        if len(L_titre) == 1:\n            titre = liste[4]\n        elif (L_titre[0] in L_titre[1]) \\\n             or ('Saison' in L_titre[1]) \\\n             or ('Mini-s\u00e9rie' in L_titre[1]) \\\n             or ('Partie' in L_titre[1]) \\\n             or ('Volume' in L_titre[1]) \\\n             or ('Season' in L_titre[1]):\n            title = L_titre[0]\n        elif ('Saison' in L_titre[0])\\\n             or ('Mini-s\u00e9rie' in L_titre[0]) \\\n             or ('Partie' in L_titre[0]) \\\n             or ('Volume' in L_titre[0]) \\\n             or ('Season' in L_titre[0]):\n            title = L_titre[1]\n        else:\n            title = L_titre[0] + ':' + L_titre[1][1:]\n            \n        while title[0] == ' ':\n            title = title[1:]\n        \n        if duree > 900: # si la dur\u00e9e d\u00e9passe 15 minutes\n            if (title not in titres):\n                titres[ title ] = duree\n            else:\n                titres[ title ] = titres[ title ] + duree\n\n    else:\n        c += 1\n\nl_max = 0\nfor k,v in titres.items():\n    if len(k) > l_max:\n        l_max = len(k)   \nl_max += 5\nf = '{:.&lt;' + str(l_max) + '} {} j {} h {} min {} s\\n'\n\nL = sorted(titres.items(), key=lambda x: x[1], reverse = True)\nR = ''\n\nfor i in L:\n    d = convert( i[1] )\n    R += f . format(i[0],d[0],d[1],d[2],d[3])\n    \nf = open( 'result.txt' , 'w' , encoding='utf8' )\nf.write(R)\nf.close()<\/pre>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Ce petit programme donne pour moi un fichier texte dont les premi\u00e8res lignes sont les suivantes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>The Big Bang Theory.............................................. 19 j 21 h 33 min 1 s\nModern Family.................................................... 18 j 3 h 29 min 20 s\nStar Trek :la nouvelle g\u00e9n\u00e9ration................................ 12 j 19 h 36 min 12 s\nBrooklyn Nine-Nine............................................... 6 j 19 h 46 min 38 s\nFriends.......................................................... 6 j 19 h 41 min 58 s\nDr. House........................................................ 5 j 7 h 34 min 38 s\nThe Walking Dead................................................. 5 j 4 h 28 min 35 s\nPrison Break..................................................... 4 j 23 h 6 min 50 s\nArrow............................................................ 4 j 16 h 1 min 24 s\nBlacklist........................................................ 4 j 14 h 15 min 37 s\nFlash............................................................ 4 j 10 h 28 min 17 s\nMentalist........................................................ 4 j 6 h 42 min 3 s\nGlee............................................................. 3 j 19 h 53 min 6 s\nGrimm............................................................ 3 j 15 h 44 min 28 s\nOrange Is the New Black.......................................... 3 j 14 h 14 min 30 s\nSuperstore....................................................... 3 j 11 h 53 min 35 s\nStranger Things.................................................. 3 j 9 h 3 min 15 s<\/code><\/pre>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Cela nous donne une indication des s\u00e9ries les plus chronophages&#8230; mais pas celles que l&#8217;on a le plus appr\u00e9ci\u00e9es. Pour cela, il faut exploiter le fichier &#8220;Ratings.csv&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Netflix_vos_series_reellement_preferees_classees_en_fonction_du_temps_de_visionnage\"><\/span>Netflix, vos s\u00e9ries r\u00e9ellement pr\u00e9f\u00e9r\u00e9es class\u00e9es en fonction du temps de visionnage<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Preliminaires%E2%80%A6_parce_quil_faut_bien_y_aller_doucement_pour_commencer%E2%80%A6\"><\/span>Pr\u00e9liminaires&#8230; parce qu&#8217;il faut bien y aller doucement pour commencer&#8230;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Le fichier &#8220;ratings.csv&#8221; a le m\u00e9rite d&#8217;\u00eatre mieux con\u00e7u que le pr\u00e9c\u00e9dent.<\/p>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">En effet, il comporte le titres des \u0153uvres sans fioritures. De plus, il y a une colonne qui nous indique:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>si l&#8217;on a ador\u00e9 (avec le nombre &#8220;3&#8221;)<\/li>\n\n\n\n<li>si l&#8217;on a aim\u00e9 (avec le nombre &#8220;2&#8221;)<\/li>\n\n\n\n<li>si l&#8217;on a gerb\u00e9 (le nombre &#8220;1&#8221;)<\/li>\n<\/ul>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Mais \u00e7a, c&#8217;est avec la nouvelle notation (avec les pouces)&#8230; car pour les anciens, on se souvient qu&#8217;au d\u00e9but, on notait avec des \u00e9toiles (de 1 \u00e0 5 \u00e9toiles). Il faudra donc d\u00e9cider d&#8217;une correspondance, comme par exemple:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 ou 2 \u00e9toiles : \u00e0 gerber !<\/li>\n\n\n\n<li>2, 3 ou 4 \u00e9toiles: on a aim\u00e9<\/li>\n\n\n\n<li>5 \u00e9toiles: on a ador\u00e9 !<\/li>\n<\/ul>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Il faut aussi penser au fait que l&#8217;on peut avoir not\u00e9 une s\u00e9rie avec les deux syst\u00e8mes&#8230; dans ce cas, seul le nouveau syst\u00e8me (le plus r\u00e9cent) comptera.<\/p>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Voici alors le programme:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import csv\n\n# fichier CSV dans \"CONTENT_INTERACTION\"\n\nf = open('Ratings.csv' , encoding = 'utf8')\nresult = csv.reader(f)\n\nc = 0\ntitres = {}\n\nfor liste in result:\n    if c == 0:\n        c += 1\n    else:\n        if liste[1] not in titres:\n            if liste[2] == 'thumb':\n                titres[ liste[1] ] = int( liste[4] )\n            else:\n                if (liste[4] == '4') or (liste[4] == '3'):\n                    titres[ liste[1] ] = 2\n                elif (liste[4] == '5'):\n                    titres[ liste[1] ] = 3\n                else:\n                    titres[ liste[1] ] = 1\n\nL = sorted(titres.items(), key=lambda x: x[1], reverse = True)\n\nR = 'Adoration maximale\\n' + '-'*18 + '\\n\\n'\n\nc = 0\nfor i in L:\n    if i[1] == 2 and c == 0:\n        R += '\\n\\nOn a bien aim\u00e9' + '-'*14 + '\\n\\n'\n        c = 1\n    elif i[1] == 1 and c == 1:\n        R += '\\n\\'\u00c0 gerber' + '-'*8 + '\\n\\n'\n        c = 2\n        \n    R += '{}\\n' . format(i[0])\n    \nf = open( 'favoris.txt' , 'w' , encoding='utf8' )\nf.write(R)\nf.close()<\/pre>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Le fichier texte que j&#8217;ai obtenu commence par:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Adoration maximale\n------------------\n\nThe Green Mile\nSweet Tooth\nTime Trap\nSexify\nMaking a Murderer\nSanta Clarita Diet\nMurdaugh Murders: A Southern Scandal\nMH370: The Plane That Disappeared\nThe Good Place\nWe Have a Ghost\nThat '90s Show\nPulp Fiction\nAlice in Borderland\n1899\nDark\nMen in Black: International\nThe Girl in the Mirror\nDAHMER\nLoving Adults\nThe Sandman\nBrooklyn Nine-Nine\nThe Secret Life of Pets 2\nSomething to Hide\nBrightburn\nThe Umbrella Academy\nStranger Things\nThe 7 Lives of Lea\nHeartstopper\nThe Pentaverate\nThe Curse of La Llorona\n\n\nOn a bien aim\u00e9--------------\n\nThe Keepers\nSafe\nCrime Scene: The Texas Killing Fields\n...<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Le_programme_complet\"><\/span>Le programme complet<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Le fichier est bien, mais j&#8217;aimerais maintenant bel et bien classer les titres que j&#8217;ai ador\u00e9 en fonction du temps que j&#8217;ai pass\u00e9 \u00e0 regarder ces \u0153uvres. Vous sentez arriver la partouse num\u00e9rique ? On va m\u00e9langer les deux scripts pr\u00e9c\u00e9dents et \u00e7a va \u00eatre g\u00e9nial!<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import csv\nimport datetime\n\n\"\"\"\nFonction: retourne la liste des films\/s\u00e9ries avec leur notes\n\"\"\"\ndef favorite():\n    f = open('Ratings.csv' , encoding = 'utf8')\n    result = csv.reader(f)\n\n    c = 0\n    titres = {}\n       \n    for liste in result:\n        if c == 0:\n            c += 1\n        else:\n            if liste[1] not in titres:\n                if liste[2] == 'thumb':\n                    titres[ liste[1] ] = int( liste[4] )\n                else:\n                    if (liste[4] == '4') or (liste[4] == '3'):\n                        titres[ liste[1] ] = 2\n                    elif (liste[4] == '5'):\n                        titres[ liste[1] ] = 3\n                    else:\n                        titres[ liste[1] ] = 1\n\n    return titres\n\n\n\"\"\"\nFonction: conversion des secondes en j,h,m,s\n\"\"\"\ndef convert(d):\n    j = d \/\/ 86400\n    h = (d - 86400*j) \/\/ 3600\n    m = (d - 86400*j - 3600*h) \/\/ 60\n    s = d - 86400*j - 3600*h - 60*m\n    \n    return j,h,m,s\n\n\"\"\"\nFonction: retourne la liste des titres et du temps pass\u00e9\n\"\"\"\ndef chrono():\n    f = open('ViewingActivity.csv' , encoding = 'utf8')\n    result = csv.reader(f)\n\n    titres = {}\n    c = 0\n        \n    for liste in result:\n        if c != 0:\n            duree_tmp = datetime.datetime.strptime(liste[2], \"%H:%M:%S\")\n            duree = 3600*duree_tmp.hour + 60*duree_tmp.minute + duree_tmp.second\n            L_titre = liste[4].split(':')\n            if len(L_titre) == 1:\n                titre = liste[4]\n            elif (L_titre[0] in L_titre[1]) \\\n                 or ('Saison' in L_titre[1]) \\\n                 or ('Mini-s\u00e9rie' in L_titre[1]) \\\n                 or ('Partie' in L_titre[1]) \\\n                 or ('Volume' in L_titre[1]) \\\n                 or ('Season' in L_titre[1]):\n                title = L_titre[0]\n            elif ('Saison' in L_titre[0])\\\n                 or ('Mini-s\u00e9rie' in L_titre[0]) \\\n                 or ('Partie' in L_titre[0]) \\\n                 or ('Volume' in L_titre[0]) \\\n                 or ('Season' in L_titre[0]):\n                title = L_titre[1]\n            else:\n                title = L_titre[0] + ':' + L_titre[1][1:]\n                \n            while title[0] == ' ':\n                title = title[1:]\n            \n            if duree > 900: # si la dur\u00e9e d\u00e9passe 15 minutes\n                if (title not in titres):\n                    titres[ title ] = duree\n                else:\n                    titres[ title ] = titres[ title ] + duree\n\n        else:\n            c += 1\n\n    return sorted(titres.items(), key=lambda x: x[1], reverse = True)\n\n\"\"\"\nPrograme principal\n\"\"\"\n\nif __name__ == \"__main__\":\n    F = favorite() # dictionnaire\n    C = chrono() # liste ordonn\u00e9e d\u00e9croissante sur le temps\n    G = {}\n    failed = []\n\n    for titre in C:\n        if titre[0] in F:\n            G[ titre[0] ] = ( F[ titre[0] ] , titre[1])\n        else:\n            failed.append( titre[0] )\n            \n    list_of_greatests = []\n    list_of_likes = []\n    list_of_beurks = []\n    \n    for t,v in G.items():\n        if v[0] == 3:\n            list_of_greatests.append( (t,v[1]) )\n        elif v[0] == 2:\n            list_of_likes.append( (t,v[1]) )\n        else:\n            list_of_beurks.append( (t,v[1]) )\n            \n    R = 'On a ador\u00e9:\\n----------\\n'\n    \n    l_max = 0\n    for i in list_of_greatests:\n        if len(i[0]) > l_max:\n            l_max = len(i[0])   \n    l_max += 5\n    f = '{:.&lt;' + str(l_max) + '} {} j {} h {} min {} s\\n'\n    for i in list_of_greatests:\n        d = convert( i[1] )\n        R += f . format(i[0],d[0],d[1],d[2],d[3])\n    \n    R += '\\n\\nOn a aim\u00e9:\\n---------\\n'\n    \n    l_max = 0\n    for i in list_of_likes:\n        if len(i[0]) > l_max:\n            l_max = len(i[0])   \n    l_max += 5\n    f = '{:.&lt;' + str(l_max) + '} {} j {} h {} min {} s\\n'\n    for i in list_of_likes:\n        d = convert( i[1] )\n        R += f . format(i[0],d[0],d[1],d[2],d[3])\n        \n    R += '\\n\\nOn a gerb\u00e9 pour:\\n----------------\\n'\n    \n    l_max = 0\n    for i in list_of_beurks:\n        if len(i[0]) > l_max:\n            l_max = len(i[0])   \n    l_max += 5\n    f = '{:.&lt;' + str(l_max) + '} {} j {} h {} min {} s\\n'\n    for i in list_of_beurks:\n        d = convert( i[1] )\n        R += f . format(i[0],d[0],d[1],d[2],d[3])\n        \n    f = open( 'ultimate.txt' , 'w' , encoding='utf8' )\n    f.write(R)\n    f.close()<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Le fichier texte que j&#8217;obtiens est:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>On a ador\u00e9:\n----------\nThe Big Bang Theory..... 19 j 21 h 33 min 1 s\nBrooklyn Nine-Nine...... 6 j 19 h 46 min 38 s\nStranger Things......... 3 j 9 h 3 min 15 s\nThe Good Place.......... 2 j 21 h 15 min 57 s\nDark.................... 2 j 5 h 30 min 14 s\nSanta Clarita Diet...... 1 j 21 h 3 min 18 s\nAlice in Borderland..... 0 j 21 h 44 min 27 s\nMaking a Murderer....... 0 j 20 h 57 min 5 s\nSweet Tooth............. 0 j 17 h 53 min 47 s\nSexify.................. 0 j 11 h 44 min 47 s\nHeartstopper............ 0 j 6 h 50 min 27 s\n1899.................... 0 j 6 h 43 min 50 s\nThat '90s Show.......... 0 j 3 h 39 min 49 s\nThe Pentaverate......... 0 j 2 h 29 min 23 s\n\n\nOn a aim\u00e9:\n---------\nModern Family....................... 18 j 3 h 29 min 20 s\nFriends............................. 6 j 19 h 41 min 58 s\nPrison Break........................ 4 j 23 h 6 min 50 s\nArrow............................... 4 j 16 h 1 min 24 s\n...<\/code><\/pre>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Ce script n&#8217;est pour autant pas optimal car&#8230; Netflix a eut la g\u00e9niale id\u00e9e de ne pas coder ses titres de la m\u00eame fa\u00e7on dans les deux fichiers! Quelle bande de nulos ! Il y a donc \u00e9norm\u00e9ment de titres qui se retrouvent rel\u00e9gu\u00e9s en dernier.<\/p>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Il faut donc \u00e9crire une fonction qui compare deux titres. Pour cela, on peut spliter deux titres et regarder si, par exemple, 50% des mots d&#8217;une liste appara\u00eet dans l&#8217;autre (sans oublier de ne consid\u00e9rer que les chaines mises en minuscule et sans accent).<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">def search(titre, dico , seuil = 0.5):\n    for t in dico.keys():\n        L_t = t.split()\n        L_titre = unidecode(titre.lower()).split()\n        compteur = 0\n        for i in L_t:\n            if unidecode( i.replace(':','').lower() ) in L_titre:\n                compteur += 1\n                \n        if (compteur\/len(L_t) >= seuil):\n            return (compteur\/len(L_t) >= seuil , t)\n        \n    return (False,0)<\/pre>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">On peut bien entendu changer le seuil de 50% si cela ne convient pas. Mais pour moi, \u00e7a le fait!<\/p>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Les abonn\u00e9\u00b7e\u00b7s de ce site trouveront le programme Python complet ci-dessous:<\/p>\n\n\n\n<div class=\"wp-block-file aligncenter\"><a id=\"wp-block-file--media-ca516067-6b2b-4c3e-8c0d-5fb345d6dd47\" href=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/Netflix.py\">Netflix<\/a><a href=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/Netflix.py\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-ca516067-6b2b-4c3e-8c0d-5fb345d6dd47\">T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>On a ador\u00e9:\n----------\nThe Big Bang Theory......................... 19 j 21 h 33 min 1 s\nBrooklyn Nine-Nine.......................... 6 j 19 h 46 min 38 s\nStranger Things............................. 3 j 9 h 3 min 15 s\nThat '70s Show.............................. 3 j 6 h 56 min 29 s\nThe Good Place.............................. 2 j 21 h 15 min 57 s\nDark........................................ 2 j 5 h 30 min 14 s\nSanta Clarita Diet.......................... 1 j 21 h 3 min 18 s\nUmbrella Academy............................ 1 j 18 h 58 min 22 s\nAlice in Borderland......................... 0 j 21 h 44 min 27 s\nMaking a Murderer........................... 0 j 20 h 57 min 5 s\nSweet Tooth................................. 0 j 17 h 53 min 47 s\nSexify...................................... 0 j 11 h 44 min 47 s\nSandman..................................... 0 j 11 h 6 min 48 s\nHeartstopper................................ 0 j 6 h 50 min 27 s\n1899........................................ 0 j 6 h 43 min 50 s\nThat '90s Show.............................. 0 j 3 h 39 min 49 s\nKeep Sweet :Prie et tais-toi................ 0 j 3 h 4 min 37 s\nJeffrey Dahmer :Autoportrait d'un tueur..... 0 j 2 h 50 min 48 s\nThe Pentaverate............................. 0 j 2 h 29 min 23 s\nMen in Black:International.................. 0 j 1 h 45 min 15 s\nTeaser :Me Time ............................ 0 j 1 h 23 min 21 s\nBande-annonce :One More Time................ 0 j 1 h 17 min 1 s\n1899 :Le making-of.......................... 0 j 0 h 43 min 40 s<\/code><\/pre>\n\n\n\n<p class=\"is-style-Paragraph-paragraph wp-block-paragraph\">Il y a plus de titres qui correspondent en effet \u00e0 ce que j&#8217;ai ador\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l&#8217;aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.<\/p>\n","protected":false},"author":1,"featured_media":8354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[387],"class_list":["post-8351","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-netflix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? - Mathweb.fr<\/title>\n<meta name=\"description\" content=\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l&#039;aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? - Mathweb.fr\" \/>\n<meta property=\"og:description\" content=\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l&#039;aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/\" \/>\n<meta property=\"og:site_name\" content=\"Mathweb.fr\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-20T15:17:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-22T12:24:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/head-articles-python-netflix.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"740\" \/>\n\t<meta property=\"og:image:height\" content=\"198\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Pasquet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Pasquet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/\"},\"author\":{\"name\":\"St\u00e9phane Pasquet\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"headline\":\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ?\",\"datePublished\":\"2023-05-20T15:17:18+00:00\",\"dateModified\":\"2023-05-22T12:24:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/\"},\"wordCount\":1114,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/head-articles-python-netflix.jpg\",\"keywords\":[\"netflix\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/\",\"name\":\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? - Mathweb.fr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/head-articles-python-netflix.jpg\",\"datePublished\":\"2023-05-20T15:17:18+00:00\",\"dateModified\":\"2023-05-22T12:24:41+00:00\",\"description\":\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l'aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/head-articles-python-netflix.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/head-articles-python-netflix.jpg\",\"width\":740,\"height\":198},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2023\\\/05\\\/20\\\/netflix-quelles-sont-vos-series-preferees\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\",\"name\":\"Mathweb.fr\",\"description\":\"Math\u00e9matiques, LaTeX et Python\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\",\"name\":\"St\u00e9phane Pasquet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"width\":74,\"height\":77,\"caption\":\"St\u00e9phane Pasquet\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? - Mathweb.fr","description":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l'aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/","og_locale":"fr_FR","og_type":"article","og_title":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? - Mathweb.fr","og_description":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l'aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.","og_url":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/","og_site_name":"Mathweb.fr","article_published_time":"2023-05-20T15:17:18+00:00","article_modified_time":"2023-05-22T12:24:41+00:00","og_image":[{"width":740,"height":198,"url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/head-articles-python-netflix.jpg","type":"image\/jpeg"}],"author":"St\u00e9phane Pasquet","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"St\u00e9phane Pasquet","Dur\u00e9e de lecture estim\u00e9e":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#article","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/"},"author":{"name":"St\u00e9phane Pasquet","@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"headline":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ?","datePublished":"2023-05-20T15:17:18+00:00","dateModified":"2023-05-22T12:24:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/"},"wordCount":1114,"commentCount":0,"publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/head-articles-python-netflix.jpg","keywords":["netflix"],"articleSection":["Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/","url":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/","name":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? - Mathweb.fr","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#primaryimage"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/head-articles-python-netflix.jpg","datePublished":"2023-05-20T15:17:18+00:00","dateModified":"2023-05-22T12:24:41+00:00","description":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ? Nous allons voir comment, \u00e0 l'aide de Python, d\u00e9terminer vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es.","breadcrumb":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#primaryimage","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/head-articles-python-netflix.jpg","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2023\/05\/head-articles-python-netflix.jpg","width":740,"height":198},{"@type":"BreadcrumbList","@id":"https:\/\/www.mathweb.fr\/euclide\/2023\/05\/20\/netflix-quelles-sont-vos-series-preferees\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.mathweb.fr\/euclide\/"},{"@type":"ListItem","position":2,"name":"Netflix, quelles sont vos s\u00e9ries pr\u00e9f\u00e9r\u00e9es ?"}]},{"@type":"WebSite","@id":"https:\/\/www.mathweb.fr\/euclide\/#website","url":"https:\/\/www.mathweb.fr\/euclide\/","name":"Mathweb.fr","description":"Math\u00e9matiques, LaTeX et Python","publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mathweb.fr\/euclide\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69","name":"St\u00e9phane Pasquet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","width":74,"height":77,"caption":"St\u00e9phane Pasquet"},"logo":{"@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp"}}]}},"_links":{"self":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/8351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/comments?post=8351"}],"version-history":[{"count":0,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/8351\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media\/8354"}],"wp:attachment":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media?parent=8351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/categories?post=8351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/tags?post=8351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}