J'essaie de tirer des données et des informations de différents sites. J'ai bien travaillé sur un script, cela fonctionne cependant lorsque j'essaie d'imprimer le résultat, des problèmes sont comme des phrases, il n'y a pas de virgule sans délimitation. Rien que je me suis essayé et rien.
C'est le site que je travaille sur http: / /www.conditions-de-banque-tunisie.com/banques-eu-tunisie.html P>
J'ai essayé de mettre une virgule entre les résultats et rien. La virgule arrive à la fin, c'est tout. P> ceci est le résultat: p> Afrique du Nord International Bankadresse: Avenue Kheireddine Pacha Ennassim Montplaisir 1002 Tunisté: +216 71 950 800fax: +216 71 950 840Site Web: http://www.naibbank.com/ p>
Qatar National Bankadresse: Rue de la Cité des Sciences - B.P. 320 - 1080 Tunis cédexté: +216 71 750 000fax: +216 71 235 611Site Web: http: // www .qnb.com.tn / P>
blockQuote> Je pense que le résultat sera comme: p> Banque internationale de l'Afrique du Nord, Adresse: Avenue Kheireddine Pacha Ennassim Montplaisir 1002, Tunisté: +216 71 950 800, fax: +216 71 950 840, site Web: http://www.naibbank.com/ p>
blockQuote> ou les meilleurs résultats sont les suivants: P> Banque internationale de l'Afrique du Nord, Venue Kheireddine Pacha Ennassim Montplaisir 1002, +216 71 950 800, +216 71 950 840 ,: http://www.naibbank.com/ p>
blockQuote> p>
3 Réponses :
Vérifiez le code ci-dessous et laissez-moi savoir si cela aide.
import requests
import bs4
import csv
import io
response = requests.get('http://www.conditions-de-banque-tunisie.com/banques-en-tunisie.html')
response.status_code
soup_obj = bs4.BeautifulSoup(response.text, "html.parser")
soup_obj.prettify()
#print('shhh')
linksname = soup_obj.find(class_='bloc-banques-liste')
textContent = []
links = linksname.findChildren("div", class_='banques-liste-desc', recursive=True)
links = [" \n ".join([y.text for y in link.findChildren("p")]) for link in links]
print(str(links))
merci mais il y a un petit problème le résultat est bon, mais c'est comme un grand paragraphe, pas comme les Blocs que vous pouvez mettre à jour votre code s'il vous plaît parce que le résultat que je vais les mettre dans un CSV et avec ce résultat que je ne peux pas
Ce qui suit est une version quelque peu simplifiée de votre code, mais cela devrait vous permettre d'où vous devez être, après l'avoir monté sur votre propre style: sortie: p > etc. p> p>
Au lieu d'utiliser la classe "Bloc-Banques-Liste" pour trouver des objets que vous pouvez utiliser "Banques-Liste-de-Desc"
Cela vous donnera directement la liste de tous les blocs.
Vérifiez le code suivant.
import requests
import bs4
import csv
import io
response = requests.get('http://www.conditions-de-banque-tunisie.com/banques-
en-tunisie.html')
response.status_code
soup_obj = bs4.BeautifulSoup(response.text, "html.parser")
soup_obj.prettify()
linksname = soup_obj.find_all(class_='banques-liste-desc')
for i in range(0, len(linksname)):
name = linksname[i].find('h1').find('a').text
print(name)
address = linksname[i].find_all('p')
for j in range(0, len(address)):
print(address[j].text)
print("----------------------------")
Vous devez accepter l'une des réponses ci-dessous, à ce stade.