lucky.py - пустой список, не позволяющий открывать несколько вкладок браузера - PullRequest
0 голосов
/ 28 мая 2019

Я пытался следовать главе 11 Автоматизации скучного материала с помощью python - веб-скребки, в частности, проекта lucky.py, который открывает несколько результатов поиска в Google с помощью командной строки

Пока что это работает только при открытии одной вкладки, но возможность открыть несколько не происходит из-за необходимости linkElems, который просто возвращает пустой список, и я понятия не имею, почему это так, поэтому любая помощьбыл бы признателен

Я уже пытался использовать тестовый поиск и пытался найти решения этой проблемы в Интернете, но безуспешно в программе, открывающей несколько вкладок

import sys
import webbrowser
import bs4

testsearch = 'test'

print('Googling.....')  # display when downloading google page

# res = requests.get('http://google.com/search?q={0}' + ' '.join(sys.argv[1:]))


# test search
res = requests.get('https://www.google.com/search?q='+testsearch)
print(res.raise_for_status())  # returns None
res.raise_for_status()
# Retrieve top search result links
soup = bs4.BeautifulSoup(res.text, 'html.parser')
# print(res.text)
# this part works
# webbrowser.open('https://www.google.com/search?q={0}'.format(testsearch))

# Open a browser tab for each result
linkElems = soup.select('.r a')
print(linkElems)  # returns empty list right now
numOpen = min(5, len(linkElems))
for i in range(numOpen):
    webbrowser.open('https://www.google.com' + linkElems[i].get('href'))

Ожидаемый результатиспользования в командной строке, например, lucky.py торт носки кошки должны быть вкладки браузера с поиском торт, носок, кошки открыты

...