• [^] # Re: me suis trompé de bouton >_<

    Posté par (site web personnel, Mastodon) . En réponse au journal Liste des articles gratuits des Editions Diamond. Évalué à 3.

    Arf, ma réponse était trop courte du coup.
    Alors, on ne récupère pas les articles mais la liste des pages ; liste qui a ensuite été publiée dans le journal.

    La ligne en question fonctionne comme celle de la boucle

     for node in issue_soup.select(".view-display-id-block_7 .view_inner"):

    Dans la page tu as une série de bloc de type (je simplifie)

    <div class="view-display-id-block_7 etc">
     <div class="view_inner">
     <!-- issue_soup -->
     </div>
     ...
     <div class="views-field-field-ct-article-authors">
     <a href="FUBAR"><!-- author --></a>
     </div>
    </div>

    que tu récupères. Et dedans des liens dont on chope le premier

     <!-- issue_soup -->
     <span class="views-field-title">
     <!-- url_node -->
     <a href="FOO">
     <!-- title_node -->
     <span class="BAR BAZ">
     <!-- title -->
     </span>
     ...
     </a>
     </span>

    Sur ce premier, toujours en simplifiant/caricaturant (ce n'est pas le source des pages mais ça donne l'idée), tu prends l'adresse (url vaudra FOO) et le premier span (dont le contenu sera assigné à title) et le contenu de l'attribut class sous forme de liste...
    Et là, le test consiste à voir si on a "is_locked_icon" dans cette liste... Tu peux consulter https://www.geeksforgeeks.org/check-if-element-exists-in-list-in-python/ ou https://www.w3schools.com/python/gloss_python_check_if_list_item_exists.asp par exemple. Le résultat de ce test est stocké dans la variable paywall

    "It is seldom that liberty of any kind is lost all at once." ― David Hume