Comment scraper efficacement les pages web avec BeautifulSoup ?
Bonjour,
Je souhaite scraper des pages web et en extraires seulement du contenu signifiant (pas de heaver, footer, nav... etc.).
Le problème c'est que la structure HTML diffère d'une page à une autre, on peut trouver <div id ="header"> <div id="mw-head">.....
Pour extraire le contenu dont j'ai besoin je dois éliminer beaucoup de contenus insignifiants et c'est très long.
Je ne vois pas finalement en quoi BeautifulSoup facilite l'accès au texte dont j'ai besoin.
Suis-je obligée d'étudier la structure de chaque page web (sachant que je génère des pages web que je ne connais pas à l'avance) ?
Y a-t-il une solution plus facile ?
Est-ce que j'utilise mal BeautifulSoup ?
Voilà un extrait pour deux pages web (je n'ai pas terminé):
Code:
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 29 30 31 32
|
############# REVERSO
# Header
for script in soup2.findAll('div',{'id':'headerHome'}):
script.extract()
for script in soup2.findAll('div',{'class':'search-form res'}):
script.extract()
# Nav droit
for script in soup2.findAll('div',{'class':'third-column result'}):
script.extract()
############# WORDREFERENCE
# Header
for script in soup2.findAll('div',{'id':'header'}):
script.extract()
# Search
for script in soup2.findAll('div',{'id':'search'}):
script.extract()
# Nav gauche
for script in soup2.findAll('td',{'id':'leftcolumn'}):
script.extract()
# Nav droite
for script in soup2.findAll('td',{'id':'rightcolumn'}):
script.extract()
# Discussion forum
for script in soup2.findAll('div',{'id':'postArticle'}):
script.extract()
# Article Head
for script in soup2.findAll('div',{'id':'articleHead'}):
script.extract() |