Python 2.7 BeautifulSoup4 возвращает пустой набор

Я пытаюсь получить ссылки из поиска Google с помощью bs4, но мой код возвращает пустой набор.

import requests
from bs4 import BeautifulSoup

website = "https://www.google.co.uk/?gws_rd=ssl#q=science"

response=requests.get(website)

soup = BeautifulSoup(response.content)

link_info = soup.find_all("h3", {class": "r"})
print link_info

<h3 class="r"> — это место, где ссылки на все результаты — это не только ссылки на первый результат.

В ответ я получаю [], и это для любого другого класса, который я пытаюсь запросить, включая <div class="rc">.

Вот пример того, что мне нужно,

введите здесь описание изображения


person python_starter    schedule 21.12.2016    source источник
comment
Возможный дубликат Scrapy: Google Crawl не работает   -  person eLRuLL    schedule 21.12.2016
comment
Запрос POST-запрос, а не GET. Вы должны использовать запрос POST и поместить q в параметры сообщения, как указано ниже. Чтобы лучше понять это, откройте элемент проверки в браузере, откройте вкладку сети и затем отправьте запрос. Вы увидите список обращений по URL-адресам. Нажмите на один из них, и вы увидите больше информации о ваших запросах. Там будут такие параметры, как параметры, заголовки, файлы cookie. Params — это параметры сообщения, отправляемые на сервер. Если это запрос GET, то обычно не будет никаких параметров.   -  person theBuzzyCoder    schedule 01.04.2017


Ответы (1)


Попробуйте использовать следующий код

url = 'http://www.google.com/search?'
params = {'q': 'science'}
response = requests.get(url, params=params).content
soup = BeautifulSoup(response)
link_info = soup.find_all("h3", {"class": "r"})
print link_info
person Andersson    schedule 21.12.2016