Regex TypeError:' NoneType'对象不可调用

时间:2015-06-07 13:15:30

标签: python regex string beautifulsoup

我试图从网页中提取一些数据。我正在使用Beautiful Soup 4和regexes。

问题是它返回错误但我无法弄清楚错误的原因。

这是我的一段代码:

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的格式:/katalog/stavebnictvi/(any text)

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

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

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