Хотя комментарии в вопросе верны, в этом случае они не применяются. простая проверка для JS загруженных событий, которая изменяет dom, состоит в том, чтобы просто отключить javascript и перезагрузить страницу в вашем браузере. Если это выдает то же самое, что вы получили из запросов, то вы знаете, что содержимое заполняется событием dom после источника страницы, и запросы не будут видеть никаких изменений dom, внесенных в содержимое.
Однако в этом случае, если я загружаю поисковый URL в браузере с отключенным JS, я все равно вижу целый ряд результатов. Да, некоторые элементы отсутствуют. Но это не объясняет, почему в вашем коде вы вообще не видите результатов поиска.
поэтому другой момент, который следует учитывать, - это тот факт, что когда мы делаем веб-запросы как часть заголовков http, мы отправляем строку user-agent, которая идентифицирует, какой мы тип клиента http. Теперь некоторые сайты могут фильтровать или блокировать определенных пользовательских агентов. или предоставлять результаты только тем, которые являются настоящими веб-браузерами. Кажется, это root вашей проблемы.
Если вы обновите свой код и установите заголовки http со строкой пользовательского агента, такой как веб-браузер, вы должны увидеть, что вы получите целый набор результатов и html, который точно совпадает с тем, что вы видите в браузере. Минус любые элементы в браузере, которые загружаются после исходного кода через события JS.
import requests
search = input("Search for:")
Params = {"q": search}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
r = requests.get("http://www.bing.com/search", params=Params, headers=headers)
f = open("test.html", "w+", encoding='utf-8')
print(r.url)
print(r.status_code)
f.write(r.text)
Теперь, когда это работает и даст вам больше того, что вы хотите, вопрос теперь о морали один. Bing решил не возвращать результаты на ваш запрос. Вы можете, конечно, l ie и сказать, что не из запросов, а из веб-браузера. Или вы могли бы уважать их выбор, так как они не хотят, чтобы к их сервису обращались подобным образом.
Если вы заинтересованы именно в результатах поиска, bing предоставляет API поиска, который отвечает в формате JSON, и некоторые люди уже написано python модулей для его использования.
https://pypi.org/search/?q=bing+api&o=