J'utilise ce code:

from bs4 import BeautifulSoup
import requests

html = requests.get(url).content
soup = BeautifulSoup(html, features = "html.parser")

for t in soup.find_all(["script", "style"]):
    t.decompose()
for t in soup.find_all("div", class_ = "reflist"):
    t.decompose()

Pour supprimer les parties inintéressantes d'un article de Wikipédia. Comment supprimeriez-vous la section bibliographie d'un article Wikipédia arbitraire (langue arbitraire) ?

0
xralf 7 nov. 2020 à 21:28

1 réponse

Meilleure réponse

Pour supprimer la section bibliography de l'article, consultez cet exemple utilisant un sélecteur CSS pour sélectionner bibliography :

import requests
from bs4 import BeautifulSoup

URL = "https://en.wikipedia.org/wiki/Human_brain"

soup = BeautifulSoup(requests.get(URL).content, "html.parser")

for tag in soup.select("h2:nth-of-type(12), ul cite"):
    # print(tag.text)
    tag.decompose()

Modifier : Pour que le grattoir fonctionne sur toutes les pages, recherchez un en-tête contenant Bibliography, supprimez-le et les éléments <ul> suivants :

for tag in soup.select("h2:contains('Bibliography'), h3:contains('Bibliography')"):
    ul = tag.find_next('ul')
    
    tag.decompose()
    ul.decompose()
1
MendelG 8 nov. 2020 à 21:07