【发布时间】:2019-07-30 13:16:12
【问题描述】:
我正在构建一个具有Page class 的网络爬虫。但是,在将属性 url 分配给 Page class 时,我收到以下错误消息。
TypeError: 'str' 对象不可调用
在我的代码下面找到:
class Page:
def __init__(self, pid, cur_id, url=None, proxy=None):
self.pid = pid
self.cur_id = cur_id
if url is None:
self.url = self._build_url()
else:
self.url = url
self.content = get_page_content(self.url, proxy)
self.crawl_date = datetime.now()
@property
def _build_url(self):
my_url = root + self.pid
return my_url
有什么建议吗?
编辑: 完整追溯:
> Traceback (most recent call last): File "C:\Program
> Files\JetBrains\PyCharm Community Edition
> 2019.1.3\helpers\pydev\pydevd.py", line 2060, in <module>
> main() File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.1.3\helpers\pydev\pydevd.py", line 2054, in main
> globals = debugger.run(setup['file'], None, None, is_module) File "C:\Program Files\JetBrains\PyCharm Community Edition
> 2019.1.3\helpers\pydev\pydevd.py", line 1405, in run
> return self._exec(is_module, entry_point_fn, module_name, file, globals, locals) File "C:\Program Files\JetBrains\PyCharm Community
> Edition 2019.1.3\helpers\pydev\pydevd.py", line 1412, in _exec
> pydev_imports.execfile(file, globals, locals) # execute the script File "C:\Program Files\JetBrains\PyCharm Community Edition
> 2019.1.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
> exec(compile(contents+"\n", file, 'exec'), glob, loc) File "C:/single_offers.py",
> line 146, in <module>
> main() File "C:/single_offers.py",
> line 68, in main
> p = Page(id, cur_id, proxy=proxy) File "C:/single_offers.py",
> line 109, in __init__
> self.url = self._build_url() TypeError: 'str' object is not callable
>
> Process finished with exit code 1
【问题讨论】:
-
您能否提供完整的错误堆栈跟踪,而不仅仅是最后一行?