-1
J'essaye de gratter tous les liens aux batailles de la "Liste des batailles navales" sur Wikipedia en utilisant python. Le problème est que je n'arrive pas à comprendre comment exporter tous les liens contenant les mots "/ wiki/Battle" dans mon fichier CSV. Je suis habitué au C++, donc python est un peu étranger à moi. Des idées? Voici ce que j'ai jusqu'à présent ...Comment gratter les liens de Wikipedia avec Python
from bs4 import BeautifulSoup
import urllib2
rootUrl = "https://en.wikipedia.org/wiki/List_of_naval_battles"
def get_soup(url,header):
return
BeautifulSoup(
urllib2.urlopen(urllib2.Request(url,headers=header)),'html.parser')
# soup settings
url = rootUrl + item
header={'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36"}
soup = get_soup(url,header)
battle = soup.findAll("/wiki/Battle")
qu'est-ce que cela vous donne? qu'attendais-tu? De votre question, il semble que vous ayez les liens et que vous demandiez comment l'écrire en CSV, mais je ne peux pas le dire avec certitude. – Stael
Recherchez des exemples de la méthode findAll. Vous pouvez récupérer tous les liens en recherchant des éléments sur la page. Une fois que vous avez tous ceux-là, vous pouvez les parcourir et regarder le href dans les attrs et chercher ceux qui ressemblent à "/ wiki/Battle". – Kyle
Quels autres champs voulez-vous capturer dans votre fichier csv? –