2010-11-19 4 views
0

J'utilise mécaniser pour effectuer une recherche de bing et ensuite je vais traiter les résultats avec une belle soupe. J'ai effectué avec succès des recherches google et yahoo avec cette même méthode, mais quand je fais une recherche bing tout ce que je reçois est une page blanche.Utiliser la recherche de mécanisation bing vide page

Je suis complètement confus pourquoi c'est le cas et si quelqu'un peut faire la lumière sur la question qui serait grandement appréciée. Voici un exemple du code que j'utilise:

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 

Le résultat est une ligne vide imprimée.

Répondre

0

Vous avez probablement reçu une réponse indiquant que la réponse est déjà dans le cache de votre navigateur. Essayez de changer un peu de vous chaîne de requête, par exemple le nombre de baisse à 50.

Vous pouvez également ajouter un code de débogage et de voir les en-têtes retournées par le serveur:

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

EDIT:

Je essayé cette requête avec count=100 avec les navigateurs Firefox et Opera et il semble que Bing n'aime pas un tel "grand" nombre. Quand je diminue, ça marche. Donc ce n'est pas une faute de mécanisation ou une autre erreur de la bibliothèque Python, mais votre requête est problématique pour bing. Il semble également que le navigateur peut interroger bing avec count=100 mais il doit d'abord interroger bing avec un nombre plus petit. Étrange!

+0

Merci pour votre avis. J'ai répété la recherche en changeant le compte à 50 et cela a fonctionné comme prévu, de nombreuses fois. J'ai changé le compte à 100 et cela n'a pas fonctionné encore ... Semble étrange. Aussi j'ai fait le débogage que vous avez suggéré ici est la sortie pour count = 100 Cache-Control: no-cache Content-Length: 0 Date: Ven 19 novembre 2010 12:42:00 GMT Connection: close Set-Cookie: OVR = flt = 0 et flt2 = 0 et flt3 = 0 et flt4 = 0 et flt5 = 0 et ramp1 = 0 & release = ou3 & preallocation = 0 &R=1; domain =. chemin =/ – Quantra

+0

J'ai édité la réponse: cette requête ne fonctionne pas à partir des navigateurs réguliers! Au moins pour la première fois. Vraiment étrange, –

Questions connexes