首页 > 解决方案 > 在网页上使用 Beautiful Soup 与 CSS 选择器时 CSS 类名称不匹配

问题描述

我是 Python 的初学者,目前正在学习如何使用这本书进行网络爬虫。

我正在尝试编写一个程序,我可以在其中进行谷歌搜索,并让程序打开搜索结果中出现的前五个链接。目标是找到<a href='link'>标签正上方的类的名称。

标签如下所示:

<div class = placeholder>

<a href = link>

但是,当我试图选择一个css选择器时,当我使用beautiful soup时选择器没有出现,我必须通过复制粘贴beautiful soup解析的html和css来手动搜索它。为什么会这样?

代码:

res = requests.get('https://google.com/search?q=beautiful+soup')

res.raise_for_status()

soup = bs4.BeautifulSoup(res.text, 'html.parser')

linkElems = soup.select(".kCrYT a")

numLinks = min(5, len(linkElems))

for i in range(numLinks):

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

我通过运行“soup”手动找到的 css 选择器是kCrYT,但是在 chrome 中打开时,类名是r. 为什么会这样?

标签: pythonhtmlcssbeautifulsoup

解决方案


推荐阅读