Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2021-08-30T12:35:20+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Base de données sur plusieurs site, message #2371212021-08-30T12:35:20+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237121<p>Je te remercie CactusHaven.<br>
Je vais voir ça.</p>
<p>Belle journée</p>Base de données sur plusieurs site, message #2371172021-08-30T00:11:21+02:00CactusHaven/@CactusHavenhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237117<p><a href="/@fut4fun" rel="nofollow" class="ping ping-link">@<span class="ping-username">fut4fun</span></a> ça dépend de ce que tu sais déjà faire, si tu sais utilisé une api tu peux utiliser <a href="https://www.api-football.com/documentation-v3">la doc</a> de api-football.com pour récupérer tout ça sans BDD.</p>Base de données sur plusieurs site, message #2370882021-08-29T07:56:26+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237088<p>Bonjour
Je te remercie CactusHaven, mais il y a un truc que je ne comprends pas ou que je ne sais pas faire. </p>
<ul>
<li>Je récupère tous les joueurs qui sont dans le jeu FIFA cela ne me pose aucun problème. </li>
<li>Je récupère les logos et images pas de problème non plus.<br>
Mais comment récupérer seulement les images des joueurs de FIFA ainsi que leur club et leur nationalité? Enfin comment s’y prendre?
Merci d’avance</li>
</ul>Base de données sur plusieurs site, message #2370732021-08-28T15:11:14+02:00CactusHaven/@CactusHavenhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237073<blockquote>
<p>Pour les joueurs que j’ai besoin, scrapper tous les joueurs sur FIFA avec leur nom/prénom, club, poste, nationalité et prix</p>
</blockquote>
<p>Oui c’est possible si tu as une liste complète des joueurs de FIFA tu va juste récupérer les joueurs dont tu as besoin sur footballdatabase.eu. Après, footballdatabase.eu ne donne pas les prix, ça il faudra utiliser une autre source.</p>
<blockquote>
<p>Sur un autre site, scrapper ces mêmes joueurs avec un attribut en commun (ex : nom prénom clubs) afin de récupérer les liens des images des joueurs ainsi que le logo de leur nationalité et de leur club.</p>
</blockquote>
<p>Tu pourrais récupérer les liens des images des joueurs et le drapeau de leur pays sur footballdatabase.eu, par contre il n’y a que le nom du club dans lequel le joueurs joue.</p>
<blockquote>
<p>Insérer tout cela dans une BDD, dans plusieurs table et les relier avec des clés afin que je puisse afficher dans mon html le joueur demandé avec tous les attributs qui lui correspond ?</p>
</blockquote>
<p>Je ne sais pas si c’est la meilleur idée, parce que dès qu’un joueur change de club il te faudrait regénérer ta BDD ou alors un script qui va check de temps en temps si il y a eu des modifications sur les joueurs de ta BDD sur footballdatabase.eu et va mettre à jour les entrée correspondantes de ta BDD. Utiliser une api sur une BDD existante aurait été plus simple.</p>
<p>Sur api-football.com apparement tu as le nom du joueur, sa photo et le club dans lequel il joue. (<a href="https://www.api-football.com/documentation-v3#:~:text=To%20get%20the%20photo%20of%20a%20player%20you%20have%20to%20call%20the%20following%20url%3A%20https%3A//media.api-sports.io/football/players/%7Bplayer_id%7D.png">doc</a>)</p>
<p>Sinon directement sur le site <a href="transfermarkt.fr">transfermarkt.fr</a> quand tu vas sur le profil d’un joueur tu devrais avoir toutes les infos dont tu as besoin, (photo, prix, club, logo, etc…), donc sinon construit ta BDD directement depuis transfermarkt.fr et tu la mets à jour chaque semaine par exemple pour avoir les changements de clubs. </p>Base de données sur plusieurs site, message #2370642021-08-28T12:04:07+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237064<p>CactusHaven, après voir regardé le site, il y a trop de joueurs dans cette BDD. Sur Fifa, il y a environ 20000 joueurs.<br>
Beaucoup de joueurs sur le site footballdatabase.eu ne me sont d’aucune utilité car ils n’apparaissent pas dans le jeu.<br>
Est ce possible avec plusieurs script de :</p>
<ul>
<li>Pour les joueurs que j’ai besoin, scrapper tous les joueurs sur FIFA avec leur nom/prénom, club, poste, nationalité et prix</li>
<li>Sur un autre site, scrapper ces mêmes joueurs avec un attribut en commun (ex : nom prénom clubs) afin de récupérer les liens des images des joueurs ainsi que le logo de leur nationalité et de leur club.</li>
<li>Insérer tout cela dans une BDD, dans plusieurs table et les relier avec des clés afin que je puisse afficher dans mon html le joueur demandé avec tous les attributs qui lui correspond ? </li>
</ul>
<p>Merci par avance</p>Base de données sur plusieurs site, message #2370632021-08-28T11:21:56+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237063<p>Merci CactusHaven, je vais voir pour scrapper sur footballdatabase.eu.<br>
Le problème est que sur FIFA il risque d’y avoir des joueur qui ne sont pas dans footballdatabase.eu.<br>
J’enregistre déjà sur un csv mais enregistrer dans une bdd me servira pour d’autres script. Je vais y jeter un œil merci !</p>Base de données sur plusieurs site, message #2370592021-08-28T01:48:25+02:00CactusHaven/@CactusHavenhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237059<p>Si tu veux une api pour tes joueurs de foot, il y a <a href="https://www.api-football.com/">https://www.api-football.com/</a> qui est pas mal avec une bonne documentation (que en anglais je crois).
Par contre il n’y aura pas les photos de joueurs, après tu peux les scrapper depuis <a href="https://www.footballdatabase.eu/fr/joueur/details/176866--ederson_moraes">footballdatabase.eu</a>, mais si tu fais ça j’imagine qu’il vaut mieux récupérer toutes les infos directement sur la même source pour pas trop se compliquer la tâche.</p>Base de données sur plusieurs site, message #2370152021-08-26T09:43:49+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237015<p>Merci Drulac et Tonio !</p>
<p>J’ai bien lu vos message. Oui Tonio c’est une bonne idée je vais me pencher dessus. N’étant pas un as je pense bien galérer. Mais au moins vous m’avez prouvé que c’est possible.<br>
Je laisse le sujet ouvert au cas ou d’autres solutions me seront proposées.<br>
Encore merci</p>Base de données sur plusieurs site, message #2370132021-08-26T09:39:07+02:00Tonio/@Toniohttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237013<p>Le problème c’est que c’est du scrapping, et pas un accès à une base de données déjà existante, donc tu n’auras pas d’identifiant lié à chaque joueur qui aurait pu te servir de clé primaire..
Dans ton cas, les clés primaires de ta table Joueur seront surement "Nom + Prénom + Equipe".. j’ai ajouté équipe pour pouvoir différencier les homonymes (à moins que 2 joueurs avec le même nom + prénoms jouent dans la même équipe.. <img src="/static/smileys/svg/hihi.svg" alt="^^" class="smiley"> )</p>
<p>Donc je pense qu’il te faut 2 tables :</p>
<p>Une table Joueur (id, nom, prénom, équipe …)
Une table Prix (id, joueurID, prix…)</p>
<p>Et au moment de l’insertion d’un prix, tu récupères l’ID du joueur ciblé à l’aide des informations nom + prénom + équipe.</p>
<p>C’est une solution mais je ne sais pas si c’est la meilleur <img src="/static/smileys/svg/heureux.svg" alt=":D" class="smiley"> </p>
<p>EDIT: Par contre, cette méthode t’oblige à mettre régulièrement à jour ta table Joueur pour prendre en compte les changements d’équipe (notamment durant les mercatos)</p>Base de données sur plusieurs site, message #2370112021-08-26T09:29:52+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237011<p>Merci Tonio pour ta réponse. Oui c’est évident, je récupère leur chemins de location.<br>
La question que je me pose est si sur un site je récupere les données des joueurs dans une BDD, est ce possible de récupérer le prix de ces mêmes joueurs en temps réel (mettre à jour chaque heure) et l’enregistrer dans la BDD ou pouvoir l’afficher sur mon site. En gros la question que je me pose est : est il possible de lier les données joueurs récupérées sur un site avec une autre donnée (prix) récupérée sur un autre site.</p>Base de données sur plusieurs site, message #2370102021-08-26T09:28:02+02:00Drulac/@Drulachttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237010<p>Bonjour <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"></p>
<p>Tu auras probablement 2 scripts de scrapping différents, si tu les fais tourner sur le même serveur ils pourront accéder de la même manière à ta base de données peut importe le nombre de scripts qui utilisent cette base de données <img src="/static/smileys/svg/clin.svg" alt=";)" class="smiley"></p>Base de données sur plusieurs site, message #2370062021-08-26T09:09:08+02:00Tonio/@Toniohttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237006<p>Salut !
Petite information, on ne stocke jamais des images dans une base de données, ce n’est pas son but.
Pour la photo et les logos, il te faudra enregistrer leurs chemins de locations (en local ou non, tout dépend ce que tu veux faire).</p>Base de données sur plusieurs site, message #2370002021-08-26T07:35:47+02:00fut4fun/@fut4funhttps://zestedesavoir.com/forums/sujet/15639/base-de-donnees-sur-plusieurs-site/?page=1#p237000<p>Bonjour à tous !<br>
Je démarre un projet et j’aimerai avoir votre avis. Je suis fan et youtubeur de FIFA et je voulais savoir s’il était possible de creer une API afin d’enregistrer dans une base de données les joueurs avec leurs noms, photo, poste, logo du club, logo du championnat etc (ça je sais que c’est possible) et recuperer sur un autre site leurs prix en temps reel. En gros, sur un site je scrape les données des joueurs et sur un autre je scrape les prix en temps réel. Une question me trotte, comment lier les 2 dans la meme base de données? J’espère que vous m’avez compris <img src="/static/smileys/svg/heureux.svg" alt=":D" class="smiley"> Merci d’avance </p>Récupération d'url(s) de résultats de recherches Google, message #1809472018-05-27T17:51:30+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180947<p>C’est une URL <a href="https://en.wikipedia.org/wiki/Percent_encodind">Percent-coded</a> pour pouvoir l’utiliser comme valeur dans un <em>query string</em> (la partie après le ? dans l’URL).</p>
<p>|urllib| gère ça très bien. Normalement il te convertit ça en dico et tu récupères la valeur de la clé ’q’ et tu as l’URL directement.</p>Récupération d'url(s) de résultats de recherches Google, message #1809442018-05-27T17:21:01+02:00rezemika/@rezemikahttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180944<p>Ah, en effet, c’est Google qui fournit des liens qui font des redirections vers ces URL. Apparemment, le module <code>urllib</code> fournit une fonction pour les parser (<a href="https://stackoverflow.com/a/28328919">voir ici</a>), ça m’a l’air de convenir à ton usage. <img alt=";)" src="/static/smileys/clin.png"></p>
<p>Par contre, j’ai l’impression qu’il y a encore quelques transformations à faire sur l’URL pour pouvoir faire une requête avec…</p>Récupération d'url(s) de résultats de recherches Google, message #1809412018-05-27T17:04:00+02:00Rached/@Rachedhttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180941<p>Salut ! En effet ça fonctionne, je récupère bien l’URL mais disons "morcellée". Elle se trouve entre /url?q= et &sa=U&ved=0ahUKEwi..... alors que j’aimerais seulement récupérer l’url. Je pense utiliser les expressions régulières pour palier à se problème.</p>Récupération d'url(s) de résultats de recherches Google, message #1809332018-05-27T14:38:17+02:00rezemika/@rezemikahttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180933<p>Salut !</p>
<p>Qu’est-ce que ça donne avec ceci ? Normalement, tu peux accéder à n’importe quel attribut d’un tag HTML de cette façon avec BeautifulSoup.</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5
6
7
8
9</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">requests</span>
<span class="kn">import</span> <span class="nn">bs4</span>
<span class="n">URL</span> <span class="o">=</span> <span class="s2">"https://www.google.fr/search?q=pablo+picaso&oq=pablo+picaso"</span>
<span class="k">with</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">URL</span><span class="p">)</span> <span class="k">as</span> <span class="n">webpage</span><span class="p">:</span>
<span class="n">parse</span> <span class="o">=</span> <span class="n">bs4</span><span class="o">.</span><span class="n">BeautifulSoup</span><span class="p">(</span><span class="n">webpage</span><span class="o">.</span><span class="n">content</span><span class="p">,</span> <span class="s2">"lxml"</span><span class="p">)</span>
<span class="k">for</span> <span class="n">h3</span> <span class="ow">in</span> <span class="n">parse</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="s2">"h3"</span><span class="p">,</span> <span class="n">attrs</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"class"</span><span class="p">:</span><span class="s2">"r"</span><span class="p">}):</span>
<span class="hll"> <span class="k">print</span><span class="p">(</span><span class="n">h3</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s1">'a'</span><span class="p">)[</span><span class="s2">"href"</span><span class="p">])</span>
</span></pre></div>
</td></tr></table></div>Récupération d'url(s) de résultats de recherches Google, message #1809302018-05-27T12:51:14+02:00Rached/@Rachedhttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180930<p>Re’. Finalement je compte laisser à plus tard ce petit bout de code, je pense pouvoir récupérer l’url avec des expressions régulières bien qu’il me semble que ce genre de pratique est interdite sur Google je vais peut être me pencher sur <a href="http://duckduckgo.com">duckduckgo.com</a> qui semble plus flexible. </p>
<p>Merci pour votre aide ! </p>Récupération d'url(s) de résultats de recherches Google, message #1809152018-05-26T17:47:45+02:00WinXaito/@WinXaitohttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180915<p>Je ne savais pas, autant pour moi. </p>Récupération d'url(s) de résultats de recherches Google, message #1809142018-05-26T17:46:40+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180914<p>CustomSearch ne permet pas de chercher sur l’entièreté du Web mais seulement sur un nombre de site restrein (custom).</p>Récupération d'url(s) de résultats de recherches Google, message #1809132018-05-26T17:38:39+02:00WinXaito/@WinXaitohttps://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180913<figure>
<blockquote>
<p>Quel API ?</p>
</blockquote>
<figcaption><a href="https://zestedesavoir.com/forums/sujet/10774/recuperation-durls-de-resultats-de-recherches-google/?page=1#p180910">ache</a></figcaption>
</figure>
<p><code>https://www.googleapis.com/customsearch/v1?key=API_KEY&cx=017576662512468239146:omuauf_lfve&q=lectures</code></p>
<p>Nous donnes:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="err">...</span>
<span class="p">{</span>
<span class="nt">"kind"</span><span class="p">:</span> <span class="s2">"customsearch#result"</span><span class="p">,</span>
<span class="nt">"title"</span><span class="p">:</span> <span class="s2">"Lectures"</span><span class="p">,</span>
<span class="nt">"htmlTitle"</span><span class="p">:</span> <span class="s2">"\u003cb\u003eLectures\u003c/b\u003e"</span><span class="p">,</span>
<span class="nt">"link"</span><span class="p">:</span> <span class="s2">"https://www.cis.upenn.edu/~cis160/current/lectures.html"</span><span class="p">,</span>
<span class="nt">"displayLink"</span><span class="p">:</span> <span class="s2">"www.cis.upenn.edu"</span><span class="p">,</span>
<span class="nt">"snippet"</span><span class="p">:</span> <span class="s2">"Lectures are held in CHEM102 every Tuesday and Thursday from 1:30-3:00 PM. \nWhile lecture attendance is not mandatory, it is highly recommended that you ..."</span><span class="p">,</span>
<span class="nt">"htmlSnippet"</span><span class="p">:</span> <span class="s2">"\u003cb\u003eLectures\u003c/b\u003e are held in CHEM102 every Tuesday and Thursday from 1:30-3:00 PM. \u003cbr\u003e\nWhile \u003cb\u003electure\u003c/b\u003e attendance is not mandatory, it is highly recommended that you&nbsp;..."</span><span class="p">,</span>
<span class="nt">"cacheId"</span><span class="p">:</span> <span class="s2">"k9487vOAo70J"</span><span class="p">,</span>
<span class="nt">"formattedUrl"</span><span class="p">:</span> <span class="s2">"https://www.cis.upenn.edu/~cis160/current/lectures.html"</span><span class="p">,</span>
<span class="nt">"htmlFormattedUrl"</span><span class="p">:</span> <span class="s2">"https://www.cis.upenn.edu/~cis160/current/\u003cb\u003electures\u003c/b\u003e.html"</span><span class="p">,</span>
<span class="nt">"pagemap"</span><span class="p">:</span> <span class="p">{</span>
<span class="nt">"metatags"</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="nt">"viewport"</span><span class="p">:</span> <span class="s2">"width=device-width, initial-scale=1.0"</span>
<span class="p">}</span>
<span class="p">]</span>
<span class="p">},</span>
<span class="nt">"labels"</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="nt">"name"</span><span class="p">:</span> <span class="s2">"lectures"</span><span class="p">,</span>
<span class="nt">"displayName"</span><span class="p">:</span> <span class="s2">"Lectures"</span><span class="p">,</span>
<span class="nt">"label_with_op"</span><span class="p">:</span> <span class="s2">"more:lectures"</span>
<span class="p">}</span>
<span class="p">]</span>
<span class="p">}</span><span class="err">,</span>
<span class="err">...</span>
</pre></div>
</td></tr></table></div>
<p>Avec plusieurs entrées de ce type.</p>