-1
J'essaie l'exemple de code pour le rapport de piratage. La ligne de code:Comment fonctionne l'analyse
for incident in soup('td', width="90%"):
seraches la soupe pour un élément td
avec l'attribut width="90%"
, correct? Il appelle la méthode __init__
de la classe BeautifulStoneSoup
, qui appelle éventuellement SGMLParser.__init__(self)
Ai-je raison de dire que le flux de classe est supérieur?
La soupe se présente comme suit dans le rapport maintenant:
<td class="fabrik_row___jos_fabrik_icc-ccs-piracymap2010___narrations" ><p>22.09.2010: 0236 UTC: Posn: 03:49.9N – 006:54.6E: Off Bonny River: Nigeria.<p/>
<p>About 21 armed pirates in three crafts boarded a pipe layer crane vessel undertow. All crew locked themselves in accommodations. Pirates were able to take one crewmember as hostage. Master called Nigerian naval vessel in vicinity. Later pirates released the crew and left the vessel. All crew safe.<p/></td>
Il n'y a pas de balisage width
dans le texte. J'ai changé la ligne de code qui est à la recherche:
for incident in soup('td', class="fabrik_row___jos_fabrik_icc-ccs-piracymap2010___narrations"):
Il semble que class
est un mot réservé, peut-être?
Comment puis-je obtenir l'exemple de code actuel à exécuter, et a plus changé dans l'application que la sortie HTML?
L'URL J'utilise:
urllib2.urlopen("http://www.icc-ccs.org/index.php?option=com_fabrik&view=table&tableid=534&calculations=0&Itemid=82")
Les balises HTML ont été retirées de ma soupe
Répondre
class
est un mot réservé et ne fonctionnera pas avec cette méthode.Cette méthode fonctionne mais ne retourne pas la liste:
Et je confirme le flux de classe pour l'analyse syntaxique. L'exemple va s'exécuter, mais le code HTML doit être analysé avec différentes méthodes car le
width='90%'
n'est plus dans le code HTML.Toujours en train de travailler sur les méthodes appropriées; postera quand je l'aurai fonctionné.
Source
2010-09-28 13:56:11 NewB
Je crois que vous pouvez utiliser' class_' - lors de la recherche pour les attributs, BeautifulSoup vérifiera 'class'. La classe fonctionne aussi sans aucun mot-clé -' soup ("tr", "fabrik_row_jos_fabrik_icc-ccs-piracymap2010_narrations") ' –
Il doit y avoir une meilleure façon ....
Source
2010-09-28 22:21:21 NewB
Questions connexes