Python Beautifulsoup CSS 选择器不工作

Python Beautifulsoup CSS selector not working

我正在尝试在网页源代码的特定标记上使用 CSS 选择器。这就是我现在拥有的:

from bs4 import BeautifulSoup
import requests
import pprint

r2 = requests.get("http://spot311.calgary.ca/reports/15-00462387")
soup = BeautifulSoup(r2.text, 'html.parser')

pprint(soup.select("blockquote"))

在页面源代码中,只有一个名为 "blockquote" 的标记,但我收到错误消息:

 pprint(soup.select("blockquote"))
TypeError: 'module' object is not callable

我四处搜索,发现一些人在他们只写的地方遇到了问题

import BeautifulSoup

而不是

from BeautifulSoup import BeautifulSoup

但我已经有了

from bs4 import BeautifulSoup

这对我的 python 发行版来说是正确的,我知道因为我有另一个程序使用这个导入并且它工作得很好。

我是不是没有正确使用选择器?

您需要从 pprint 模块导入 pprint() 函数。

替换:

import pprint

与:

from pprint import pprint

不,你可以保留

import pprint

但以后调用时必须写

pprint.pprint((soup.select("blockquote"))

在我的初学者看来,我认为这是更好的格式,因为稍后在大型项目中可以更清楚地看到该功能来自哪个模块。