En essayant d'analyser une liste de titres de jeux vidéo d'un site d'achat. Cependant, la liste des éléments est stockée dans une étiquette.Utilisation de SoupStrainer pour analyser sélectivement
This La section de la documentation explique supposément comment analyser seulement une partie du document mais je ne peux pas le résoudre. mon code:
from BeautifulSoup import BeautifulSoup
import urllib
import re
url = "Some Shopping Site"
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
for a in soup.findAll('a',{'title':re.compile('.+') }):
print a.string
à l'heure actuelle est imprime la chaîne dans une balise qui a une référence de titre non vide. mais il est également en train de prier les articles dans la barre latérale qui sont les "spéciaux". si je ne peux que prendre la liste des produits div, je vais tuer 2 oiseaux avec une pierre.
Merci beaucoup.
essayé mais il a donné cette erreur: Traceback (le plus récent appel dernier): Fichier "~/start.py", ligne 11, dans pour en product.findAll ('a', { 'title': re.compile ('. +')}): AttributeError: l'objet 'ResultSet' n'a pas d'attribut 'findAll' –
Scraper
Essayez d'appeler 'soup.find' au lieu de' soup.findAll'. – dusan
pas son me donnant ceci, Traceback (dernier appel dernier): Fichier "~/src/start.py", ligne 13, en pour un dans product.findAll ('a', {'title': re .compile ('. +')}): AttributeError: l'objet 'NoneType' n'a pas d'attribut 'findAll' –
Scraper