2016-03-24 12 views
1

Ich versuche BeautifulSoup zu verwenden, um HTML-Daten von einer URL zu analysieren. Allerdings bekomme ich immer die Warnung:BeautifulSoup html.Parser Fehler

"Kein Parser wurde explizit angegeben, daher verwende ich den besten verfügbaren HTML-Parser für dieses System (" html.parser "). Dies ist normalerweise kein Problem, aber wenn .

BeautifulSoup([your markup]) 

dazu: Sie führen diesen Code auf einem anderen System, oder in einer anderen virtuellen Umgebung, kann es einen anderen Parser und verhalten sich anders verwenden

loswerden dieser Warnung zu erhalten, dies ändern

BeautifulSoup([your markup], "html.parser") 

    markup_type=markup_type)) 

Ich habe derzeit

url = "myurl.com" 


page = urllib2.urlopen(url).read() 
soup = BeautifulSoup(page, "html.parser") 

Irgendwelche Ideen?

Antwort

0

Also BeautifulSoup erwarten Sie einen besser Parser zu verwenden. Überprüfen Sie this. Versuchen Sie auch, einen unter here empfohlenen Parser zu installieren. Sie müssen aber auch sicherstellen, dass Ihre Zielumgebungen über diesen Parser verfügen.

0

Ich hatte auch dieses Problem und ich googelte, aber ich hatte keine Ahnung, wie das zu beheben, so dass ich Warndruckteil kommentierte. Sehen Sie das Bild, das ist, wie ich Problem wie Ihr löste.

if builder.is_xml: 
    markup_type = "XML" 
     else: 
      markup_type = "HTML" 
      #warnings.warn(self.NO_PARSER_SPECIFIED_WARNING % dict(
      #parser=builder.NAME, 
      #markup_type=markup_type)) 

fixed bs4 warning showing problem

+1

Bitte fügen Sie den Code anstelle von Bild –

0

In der Warnung selbst, bieten sie die Lösung. Ich folgte nur gemäß der Aussage. 2. Parameter 'html.parser' hinzugefügt. Es entfernt die Warnung.

parsed_html = BeautifulSoup(html,'html.parser')