Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2015-08-27T01:28:32+02:00Les derniers messages parus sur le forum de Zeste de Savoir.itemprop=datePublished, message #707202015-08-27T01:28:32+02:00Seb/@Sebhttps://zestedesavoir.com/forums/sujet/3919/itempropdatepublished/?page=1#p70720<p>Merci pour ta réponse, ça marche sauf que malheureusement le problème 1 n'est pas résolu.
Pour une date du style :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="p"><</span><span class="nt">time</span> <span class="na">itemprop</span><span class="o">=</span><span class="s">"datePublished"</span> <span class="na">datetime</span><span class="o">=</span><span class="s">"2015-08-26T18:00:04+02:00"</span><span class="p">></span>le 26/08/2015 à 18:00<span class="p"></</span><span class="nt">time</span><span class="p">></span>
</pre></div>
</td></tr></table>
<p>Je n'ai que '2015' d'afficher dans ma base de donnée au lieu d'avoir la totalité de l'attribut datetime. je ne comprend pas.</p>
<p>[EDIT]
Si ça marche je suis con, je m’étais trompé de type pour enregistrer ma date dans ma bdd. Merci <img alt=":)" src="/static/smileys/smile.png"></p>itemprop=datePublished, message #707172015-08-27T00:53:14+02:00Situphen/@Situphenhttps://zestedesavoir.com/forums/sujet/3919/itempropdatepublished/?page=1#p70717<p>Alors, je ne connais pas les différences entre Cheerio et jQuery (s'il y en a) mais pour le problème 2, je pense que tu peux d'abord chercher tous les balises avec <code>itemprop=datePublished</code> et pas que <code>meta</code>, puis tester les différentes possibilités. Ça donne quelque chose comme ça :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11</pre></div></td><td class="code"><div class="codehilite"><pre><span class="kd">var</span> <span class="nx">$</span> <span class="o">=</span> <span class="nx">cheerio</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="nx">html</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">tag</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">'[itemprop=datePublished]'</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">datePublished</span><span class="p">;</span>
<span class="kd">var</span> <span class="nx">datetime</span> <span class="o">=</span> <span class="nx">tag</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'datetime'</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="nx">datetime</span> <span class="o">!=</span> <span class="s2">""</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">datePublished</span> <span class="o">=</span> <span class="nx">datetime</span><span class="p">;</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nx">datePublished</span> <span class="o">=</span> <span class="nx">tag</span><span class="p">.</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'content'</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
</td></tr></table>itemprop=datePublished, message #706922015-08-26T21:20:07+02:00Seb/@Sebhttps://zestedesavoir.com/forums/sujet/3919/itempropdatepublished/?page=1#p70692<p>Bonsoir,</p>
<p>Je voudrais récupérer avec le module cheerio (node.js) la date du meta itemprop=datePublished.</p>
<p>J'ai donc fait :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span class="kd">var</span> <span class="nx">$</span> <span class="o">=</span> <span class="nx">cheerio</span><span class="p">.</span><span class="nx">load</span><span class="p">(</span><span class="nx">html</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">datePublished</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="s1">'meta[itemprop=datePublished]'</span><span class="p">).</span><span class="nx">attr</span><span class="p">(</span><span class="s1">'content'</span><span class="p">);</span>
</pre></div>
</td></tr></table>
<p>Problème 1: Ce que je fais pour l'instant ne me récupère que l'année : 2015. </p>
<p>Problème 2: Tous les sites web n'utilisent pas la même notation, certains utilisent un meta, d'autres time ou plus rarement un div. De plus, certains sites stockent la valeur dans l'attribut datetime, d'autre dans l'attr content.</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span class="nt"><time</span> <span class="na">itemprop=</span><span class="s">"datePublished"</span> <span class="na">datetime=</span><span class="s">"2015-08-26T13:45:00-04:00"</span> <span class="na">title=</span><span class="s">"Published: August 26, 2015 1:45 pm EDT"</span><span class="nt">></span>August 26, 2015<span class="nt"></time></span>
<span class="nt"><meta</span> <span class="na">itemprop=</span><span class="s">"datePublished"</span> <span class="na">content=</span><span class="s">"2015-08-26"</span><span class="nt">></span>
</pre></div>
</td></tr></table>
<p>je souhaite donc résoudre ces 2 problèmes, j'ai pensé à une regex, mais je bloque. Quelqun pourrait m'éclairer et me proposer une soultion ?</p>
<p>Merci.</p>