我正在尝试在http://regexr.com/3dnut处实现正则表达式查询。
到目前为止,这是我的代码:
from bs4 import BeautifulSoup
import urllib
r = urllib.urlopen('http://www.indeed.com/resumes?q=banking&l=london&co=GB&start=0').read()
soup = BeautifulSoup(r, "lxml")
letters = soup.search("\/r\/([^:\/\s]+)\/(\w+)")
print letters
我期待一系列匹配,但我收到以下错误消息:
Traceback (most recent call last):
File "D:/cv-scraper/main.py", line 5, in <module>
letters = soup.search("\/r\/([^:\/\s]+)\/(\w+)")
TypeError: 'NoneType' object is not callable
我该如何解决?
答案 0 :(得分:1)
search()
中没有BeautifulSoup
方法。抛出此特定错误的原因是点符号具有特殊含义 - 它是find()
的快捷方式。 soup.search
基本上已转换为soup.find("search")
,会尝试找到标记search
。它失败并返回None
然后被调用。你最终得到的是None("\/r\/([^:\/\s]+)\/(\w+)")
失败的None
当然是不可调用的。