1

我正在尝试在网页源的特定标签上使用 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 发行版是正确的,我知道因为我有另一个程序使用这个导入并且它工作得很好。

我只是没有使用选择器吗?

4

2 回答 2

2

您需要从模块导入pprint()功能。pprint

代替:

import pprint

和:

from pprint import pprint
于 2015-08-02T20:43:33.403 回答
0

不,您可以将其保留为

import pprint

但是当你稍后调用它时,你必须写

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

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

于 2020-07-03T12:05:20.900 回答