lucky.py-空列表,不允许浏览多个浏览器标签

时间:2019-05-28 17:41:15

标签: python python-webbrowser

我一直在尝试使用python-网络抓取,特别是项目lucky.py(该项目使用命令行打开多个Google搜索结果)来遵循《自动化无聊的工作》 chapter 11

到目前为止,它仅在打开单个选项卡时有效,但是由于需要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蛋糕袜子猫应该是浏览器选项卡,并带有打开的蛋糕,袜子,猫的搜索

0 个答案:

没有答案