Ligne Python (modif)

Résolu
Bonjour,

J'ai un programme qui récupère toutes les lignes d'un site web. Je voudrais que les 100 premières lignes de ce fichier (le fichier a environ 1000 lignes, je ne voudrais récupérer que les 100 plus récentes, donc en haut du fichier)

soup = BeautifulSoup(page.text, 'html.parser')
body = soup.find('table')
tiro_line = body.find_all('tr')


Comment modifier cette ligne?
Merci

Bonne soirée

2 réponses

  1. Bonjour et merci.

    J'ai un problème avec tiro_line qui a été remplacé dans votre méthode par Rows=....

    car la ligne suivante du programme Python est:

    for value in tiro_line:
    etc..

    qui alors n'existe plus car remplacé par

    rows = table.find_all("tr")
    print(rows[:3])...

    Merci et bonne soirée
    0
    1. Modérateur
      Bonjour,

      Tu peux utiliser l'opérateur
      [i:j]
      qui extrait d'un itérable les éléments de
      i
      inclu à
      j
      exclu.
      • Lorsque
        i
        est omis il vaut
        0
        (
        [:j]
        extrait donc les
        j
        premiers éléments) ;
      • Lorsque
        j
        est omis il vaut
        None
        (
        [i:]
        extrait donc tous éléments à partir de l'index
        i
        inclu)


      fichier.html

      <html>
          <body>
              <table>
                  <tr><td>1</td></tr>
                  <tr><td>2</td></tr>
                  <tr><td>3</td></tr>
                  <tr><td>4</td></tr>
                  <tr><td>5</td></tr>
                  <tr><td>6</td></tr>
              </table>
          </body>
      </html>


      script.py

      #!/usr/bin/env python3
      
      import sys
      from bs4 import BeautifulSoup
      
      filename = sys.argv[1]
      with open(filename) as f:
          soup = BeautifulSoup(f, "html.parser")
          table = soup.find("table")
          rows = table.find_all("tr")
          print(rows[:3])


      Exécution

      (mando@silk) (~) $ chmod a+x script.py
      (mando@silk) (~) $ ./script.py fichier.html
      [<tr><td>1</td></tr>, <tr><td>2</td></tr>, <tr><td>3</td></tr>]


      Bonne chance
      0