홈>
Page class
가있는 webscrapper를 만들고 있습니다
. 그러나
url
속성을 지정할 때 다음 오류 메시지가 나타납니다.
Page class
에
.
TypeError: 'str' object is not callable
내 코드 아래에서 찾기 :
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
- 답변 # 1
- 답변 # 2
_build_url
를 만들었습니다 재산, 그래서self._build_url
str
를 얻는다 콜 파렌은 없지만 파렌을 추가하여self.url = self._build_url()
로 만듭니다. . 결과 문자열을 호출하려고합니다.@property
를 제거하십시오 데코레이터를 사용하여 일반적인 방법을 사용하거나 호출하지 않고 속성을 사용하기 위해 호출 지점을 사용 지점에서 제거합니다. - 답변 # 3
_build_url
를 만들었습니다.@property
. 이 때문에이 메소드를 호출 할 때self._build_url()
를 사용하면 안됩니다 그러나self._build_url
(괄호없이).
관련 자료
- 사전이있는 typescript 클래스 객체를 JSON 문자열로 변환
- java는 주 함수 외부에 클래스의 모든 객체를 저장합니다
- Python에서 함수에서 클래스로 목록 전달
- javascript - NodeList/Array와 함께 Toggle Function을 사용하여 동일한 클래스의 모든 섹션에서 다크 모드를 전환하려면 어떻게해야합니까?
- c++ - 클래스 개체가 작동하지 않는 Linkedlist 템플릿
- python - Pandas에서 함수를 클래스로 전환
- python - Numpyndarray 객체는 호출 할 수없는 오류 이유입니다
- python 3.x - typeerror - 'str'개체는 drivertitle ()에서 호출 할 수 없습니다
- ecmascript 6 - 클래스 확장의 JavaScript 함수가 인식되지 않습니다
- laravel - Carbon \ Carbon 클래스의 개체를 숫자로 변환 할 수 없습니다
- as.date - R의 Date 클래스 객체의 문자 수
- python - 생성 된 클래스 실행 오류 - '모듈'개체를 호출 할 수 없습니다
- devirtualization - Rust는 특성 객체 함수 호출을 가상화하지 않습니까?
- javascript - React 함수 구성 요소로 현재 객체에 대한 핸들을 얻는 방법
- javascript - jquery는 하나의 클래스에만 더 많은 함수 대상 p 태그를 표시합니다
- typescript - 내 Angular 서비스에 대한 CRUD 삭제 작업의 then ()에 대해 정의 된 함수 내에서 Router 개체를 사용할 수없는 이유는 무엇입니까?
- java - 추상 클래스에서 상속 된 클래스의 객체는 getter에서 null 값을 반환합니다
- 파이썬에서 클래스 함수를 사용하여 그래프 구현 (할당)
- python - 판다 - 'int'개체는 호출 할 수 없습니다
- c# - 연산자 오버로딩을 수행 할 때 클래스 내에서 인쇄 함수를 사용할 수없는 이유는 무엇입니까?
관련 질문
- python : 파이썬에서 문자를 90도 회전하는 방법은 무엇입니까?
- python : Selenium TypeError: __init__()에 예기치 않은 키워드 인수 'service'가 있습니다. 이 경우 왜?
- python : 클래스를 인스턴스화할 때 인스턴스화된 객체에 대해 클래스 자체와 동일한 이름을 사용하지 않는 규칙이 있습니까?
- python : 데이터 프레임을 병합할 수 없음: 값 가져오기 오류
- attrs python 패키지로 기본 메소드를 호출하는 방법
- python : text() 명령을 사용한 셀레늄 문자열 문제
- 접두사 문자열 목록을 다른 문자열과 일치시키는 Python 정규식
- python : 파이썬에서 클래스 메서드를 호출할 수 없습니다.
- python : 테이블의 특정 값을 목록에 추가하는 방법
- python 클래스: @property 데코레이터로 속성을 설정하려고 할 때 최대 재귀가 발생하는 이유는 무엇입니까?
_build_url
를 선언했습니다 속성이 되십시오. 결과적으로 속성 이름을 호출하지 않고 속성 이름만으로 액세스 할 수 있습니다.