0

我不知道该尝试什么,因为我没有收到任何错误消息,当我运行它时它只是空白,我和 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 个结果

4

1 回答 1

0

正如 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 获得的响应,我们看到结果链接位于类名为 jfp3ef 的 div 中。

然后你应该在最后一个循环中将元素添加到 google url

webbrowser.open('https://google.com' + linkelem[i].get('href'))
于 2019-07-05T02:51:51.247 回答