python - 正则表达式类型错误 : 'NoneType' object is not callable

标签 python regex string beautifulsoup

我正在尝试从网页中提取一些数据。我正在使用 Beautiful Soup 4 和正则表达式。

问题是它返回一个错误,但我无法弄清楚为什么会出现错误。

这是我的一段代码:

urls = soup.findall('a',href = re.compile(r'/katalog/stavebnictvi/'+'.'))

这是错误:

Traceback (most recent call last):
  File "C:\Users\Milano\My Documents\LiClipse Workspace\Web_Crawlers\idatabaze_cz.py", line 14, in <module>
    get_categories_urls()
  File "C:\Users\Milano\My Documents\LiClipse Workspace\Web_Crawlers\idatabaze_cz.py", line 10, in get_categories_urls
    urls = soup.findall('a',href = re.compile(r'/katalog/stavebnictvi/'+'.'))
TypeError: 'NoneType' object is not callable

至少有一个标签满足条件。 例如:<a href="/katalog/stavebnictvi/semily/">

我认为我的正则表达式有问题。我想搜索 href 格式如下的每个标签 a: /katalog/stavebnictvi/(any text)

有什么建议吗?

最佳答案

soup.findall有问题,它必须是soup.findAllsoup.find_all

urls = soup.findAll('a',href = re.compile(r'/katalog/stavebnictvi/'+'.'))

关于python - 正则表达式类型错误 : 'NoneType' object is not callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693959/

相关文章:

python - sqlalchemy:上一行和下一行的id

regex - 使用 match 在只有 bash 的字符串中查找子字符串

javascript - 用字母数字、空格和标点符号匹配字符串的正则表达式

python - 如何将 @shared_task 装饰器用于基于类的任务?

python - 如何使用 matplotlib 绘制日志文件的实时更新图表?

Python 多处理 : shared memory and pickle issue

regex - 将捕获组命名为不同的名称

java - 如何使用 String.split() 根据 HTML 页面中的标签名称拆分字符串

python查找文件中正则表达式匹配次数最多的部分

java - 如何使用正则表达式扫描特定字符串?