2010-11-19 2 views
0

Я использую механизацию для выполнения поиска бинга, а затем обработаю результаты с красивым супом. Я успешно выполнил поиск в google и yahoo с помощью этого же метода, но когда я выполняю поиск бинга, все, что я получаю, это пустая страница.Использование метода механизации 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 

В результате получается пустая строка.

ответ

0

Возможно, вы получили ответ, ответ уже находится в кеше браузера. Попробуйте изменить немного запросе строку, например, кол снижение до 50.

Вы можете также добавить некоторые отладки кода и увидеть заголовки, возвращаемые сервером:

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

EDIT:

У меня есть попробовал этот запрос с count=100 с браузерами Firefox и Opera, и кажется, что bing не нравится такой «большой» счет. Когда я уменьшаю счет, тогда он работает. Так что это не механизация или другая ошибка библиотеки Python, но ваш запрос проблематичен для bing. Также кажется, что браузер может запросить bing с count=100, но он должен сначала запросить bing с некоторым меньшим количеством. Странный!

+0

Спасибо за понимание. Я повторил поиск, изменив счет до 50, и он работал, как ожидалось, много раз. Я изменил счет до 100, и он снова не работал ... Кажется странным. Кроме того, я сделал отладки вы предложили здесь выход для подсчета = 100 Cache-Control: нет кэша Content-Length: 0 Дата: Пт, 19 ноября 2010 12:42:00 GMT Подключение: закрыть Set-Cookie: OVR = flt = 0 & flt2 = 0 & flt3 = 0 & flt4 = 0 & flt5 = 0 & ramp1 = 0 & release = or3 & preallocation = 0 &R=1; domain = .bing.com; path =/ – Quantra

+0

Я отредактировал ответ: этот запрос не работает из обычных браузеров! По крайней мере, в первый раз. Действительно странно, –

Смежные вопросы