0

mechanizeを使用してBing検索を実行し、その結果を美しいスープで処理します。これと同じ方法でグーグルとヤフーの検索を正常に実行しましたが、ビング検索を実行すると、空白のページしか表示されません。

なぜそうなるのか、そして誰かがこの問題に光を当てることができれば、私は完全に混乱しています。これが私が使用しているコードのサンプルです:

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

結果は空白行が印刷されます。

4

2 に答える 2

0

おそらく、回答が既にブラウザーのキャッシュにあるという応答が返ってきたでしょう。たとえば、count を 50 に減らすなど、クエリ文字列を少し変更してみてください。

デバッグ コードを追加して、サーバーから返されたヘッダーを確認することもできます。

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

編集:

このクエリをcount=100Firefox および Opera ブラウザで試してみましたが、bing はこのような「大きな」カウントを好まないようです。カウントを減らすと機能します。したがって、これは機械化やその他の Python ライブラリの障害ではありませんが、クエリには問題があります。また、ブラウザは bing をクエリできるようですがcount=100、最初にいくつかの小さなカウントで bing をクエリする必要があります。変!

于 2010-11-19T12:30:23.750 に答える