Ligne Python (modif)
Résolu
claude4777
Messages postés
29
Statut
Membre
-
claude4777 Messages postés 29 Statut Membre -
claude4777 Messages postés 29 Statut Membre -
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)
Comment modifier cette ligne?
Merci
Bonne soirée
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
-
Bonjour,
Tu peux utiliser l'opérateur[i:j]
qui extrait d'un itérable les éléments dei
inclu àj
exclu.- Lorsque
i
est omis il vaut0
([:j]
extrait donc lesj
premiers éléments) ; - Lorsque
j
est omis il vautNone
([i:]
extrait donc tous éléments à partir de l'indexi
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 - Lorsque
-
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