2016-06-17 15 views
1

Ich lerne Data Science und während ich ein Problem mache, stieß ich auf eine seltsame Beobachtung. Das Problem bestand darin, die Anzahl der Vorkommen der Zeichenfolge "Suppe" auf der Homepage von Beautiful Soup mit Python zu drucken. Der seltsame Teil ist, die Anzahl der Vorkommen variiert in der iPython-Notebook und in Python und wenn ich eine manuelle Suche auf der Webseite lief das Ergebnis war ganz anders.Verschiedene Suchergebnisse in verschiedenen Umgebungen

Ich würde mich freuen, wenn jemand eine plausible Erklärung geben könnte. Ich habe angebracht zusammen, um den Code-Schnipsel und die Ergebnisse:

In Python

I have simply used urllib and not BeautifulSoup

In Pandas

Using the .count() function

manuell

enter image description here

Wie Sie sehen, variiert das Ergebnis in allen Umgebungen, es zeigt 39 Vorkommen in Python, 41 in Pandas und 35 durch manuelle Suche.

Dank

+0

ich immer eine manuelle Suche auf der Website erwarten würde sich als der Text weniger Sie Sehen ist eine Teilmenge von dem, was in der Quelle ist. Ich kann den Unterschied in den anderen beiden nicht erklären. Das sind auch keine Pandas, das ist urllib2 in jupyter. @jezrael scheint die Antwort gefunden zu haben. Ich würde das wählen. – piRSquared

Antwort

3

Ich denke Python nur 39, weil 2 fehlt, sind in <head> gefunden:

<title>Beautiful Soup: We called him Tortoise because he taught us.</title> 
<meta name="Description" content="Beautiful Soup: a library designed for screen-scraping HTML and XML."> 

Sie können prüfen, sie durch Source of the page - es gibt 41 Vorkommen.

Wenn Prüfung webpage manuell (35 Vorkommen), 4 sind in urls und 2 in <head>, so zusammen 41:

<a href="http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html">Here's 
the Beautiful Soup 3 documentation.</a> 
<a href="download/3.x/BeautifulSoup-3.2.1.tar.gz">3.2.1</a> 
<a href="/source/software/BeautifulSoup/index.bhtml"> 
<a href="http://www.crummy.com/software/BeautifulSoup/"> 
+0

Vielen Dank! :-) –

Verwandte Themen