2010-11-19 6 views
0

Ich benutze Mechanize, um eine Bing-Suche durchzuführen und dann werde ich die Ergebnisse mit schönen Suppe verarbeiten. Ich habe erfolgreich Google und Yahoo-Suchen mit dieser Methode durchgeführt, aber wenn ich eine Bing-Suche mache, bekomme ich nur eine leere Seite.Mit mechanisieren bing Suche zurück leere Seite

Ich bin gründlich verwirrt, warum das der Fall ist und wenn jemand etwas Licht auf die Sache werfen kann, die sehr geschätzt werden würde. Hier ist ein Beispiel für den Code Ich verwende:

from BeautifulSoup import BeautifulSoup 
import mechanize 
br = mechanize.Browser() 
br.set_handle_robots(False) 
br.open("http://www.bing.com/search?count=100&q=cheese") 
content = br.response() 
content = content.read() 
soup = BeautifulSoup(content, convertEntities=BeautifulSoup.ALL_ENTITIES) 
print soup 

Das Ergebnis ist eine leere Zeile gedruckt.

Antwort

0

Sie haben wahrscheinlich Antwort, dass die Antwort bereits in Ihrem Browser-Cache ist. Versuchen Sie, ein wenig Sie Zeichenfolge, zum Beispiel Abnahme Zahl auf 50.

Sie abfragen können auch einige Debug-Code hinzufügen und sehen Header vom Server zurückgegeben:

br.open("http://www.bing.com/search?count=50&q=cheese") 
response = br.response() 
headers = response.info() 
print headers 
content = response.read() 

EDIT:

Ich habe versuchte diese Abfrage mit count=100 mit Firefox und Opera Browsern und es scheint, dass Bing nicht so eine "große" Anzahl mag. Wenn ich die Anzahl reduziere, funktioniert es. Dies ist also keine Mechanisierung oder andere Python-Bibliothek Fehler, aber Ihre Abfrage ist problematisch zu Bing. Es scheint auch, dass der Browser Bing mit count=100 abfragen kann, aber es muss zuerst Bing mit einer kleineren Anzahl abfragen. Seltsam!

+0

Danke für Ihre Einsicht. Ich wiederholte die Suche, indem ich die Zählung auf 50 änderte und es hat wie erwartet viele Male funktioniert. Ich änderte die Zählung zurück auf 100 und es funktionierte nicht mehr ... Es scheint seltsam. Auch habe ich die Debug Sie hier vorgeschlagen ist der Ausgang für count = 100 Cache-Control: no-cache Content-Length: 0 Datum: Fr, 19. November 2010 12.42.00 GMT Anschluss: schließen Set-Cookie: OVR = flt = 0 & flt2 = 0 & flt3 = 0 & flt4 = 0 & flt5 = 0 & ramp1 = 0 & release = or3 & vorallokation = 0 &R=1; domain = .bing.com; path =/ – Quantra

+0

Ich editierte Antwort: Diese Abfrage funktioniert nicht von regulären Browsern! Zumindest zum ersten Mal. Wirklich seltsam, –