【问题标题】:Regex TypeError: 'NoneType' object is not callable正则表达式类型错误:“NoneType”对象不可调用
【发布时间】:2015-08-22 00:33:19
【问题描述】:

我正在尝试从网页中提取一些数据。我正在使用 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

至少有一个标签符合条件。 例如:&lt;a href="/katalog/stavebnictvi/semily/"&gt;

我认为我的正则表达式有问题。我想以这种形式搜索href所在的每个标签:/katalog/stavebnictvi/(any text)

有什么建议吗?

【问题讨论】:

    标签: python regex string beautifulsoup


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。奇怪的是,LiClipse 没有识别出“findall”不存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 2016-07-17
    • 2018-12-03
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    相关资源
    最近更新 更多