я пытался сделать простой Python автоматический поиск Google, но он не работает, я не знаю, почему - PullRequest
0 голосов
/ 05 июля 2019

Я не знаю, что попробовать, потому что я не получаю никаких сообщений об ошибках, просто пусто, когда я запускаю его, я следовал вместе с парнем на YouTube, и он работал

import requests
import bs4
import sys
import webbrowser

search = 'savage'
res = requests.get(f'https://google.com/search?q={search}')
res.raise_for_status()

soup = bs4.BeautifulSoup(res.text, 'html.parser')
linkelem = soup.select('.r a')
linkstoopen = min(5, len(linkelem))

for i in range(linkstoopen):
    webbrowser.open('https://google.com', linkelem[i].get('href'))

это должно открыть 5 лучших результатов для "дикаря" в Google

1 Ответ

0 голосов
/ 05 июля 2019

Как и предполагал furas, я думаю, что HTML-код результата мог измениться с момента создания учебника.

Я получил его для работы с двумя изменениями в вашем коде:

Изменить строку:

linkelem = soup.select('.r a')

до

linkelem = []
for div in soup.find_all("div", {"class": "jfp3ef"}):
    for link in div.select("a"):
        linkelem.append(link)

Глядя на ответ, который мы получаем от Google, мы видим, что результирующие ссылки находятся в div с именем класса jfp3ef.

Затем вы должны добавить элемент к URL-адресу Google в последнем цикле

webbrowser.open('https://google.com' + linkelem[i].get('href'))
...