• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

scrapy 크롤링 수행시 ffi.callback() 에러가 발생합니다

22.07.06 08:13 작성 조회수 272

0

안녕하세요? 강의 잘 듣고 있습니다
 
강의 초반부에 크롤링을 수행하면 (scrapy crawl gmarket) 다음과 같은 에러가 계속해서 발생합니다.
 
2022-07-06 08:10:41 [scrapy.downloadermiddlewares.robotstxt] ERROR: Error downloading <GET http://www.gmarket.co.kr/robots.txt>: Cannot allocate write+execute memory for ffi.callback(). You might be running on a system that prevents this. For more information, see https://cffi.readthedocs.io/en/latest/using.html#callbacks
 
항상 발생하는 것은 아니구요, 10번중에 8번정도 발생하면서 크롤링이 실패합니다.
나머지 2번은 또 크롤링이 잘 수행되네요.
 
제 사용환경은 m1 mac이구요
 
https://github.com/pyca/pyopenssl/issues/873
 
여기서 파이썬 버전을 3.10.2로 바꾸면 된다고 해서
미니콘다로 파이썬 버전을 3.10.2나 최신버전으로 변경시켜봤는데
여전히 에러가 발생합니다.. 혹시 해결방법이 있을까요?
 
추가)url이 다음과 같을 때는 에러 없이 잘 작동합니다..
start_urls = [
'http://promotion.gmarket.co.kr/Event/CouponZone.asp'
]
 

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

 

M1 MAC 시스템이 있는 것은 아니기도 하고, 관련 에러를 본적은 없습니다. 아마도 해당 특수 환경에서만 일어나는 에러가 아닐까 생각은 들었습니다. 보여주신 에러를 구글에서 검색해보았는데요. 

https://www.reddit.com/r/scrapy/comments/mn27t7/m1_mac_cffi_error/

 

다음과 같이 수행하시면 된다고 커뮤니티에서 적혀있더라고요. 이 부분을 한번 해보시면 어떠실까요?

1. Make virtualenv by using conda

2. Turn the virtual environment, then install python3.10 by brew

3. Restart virtual environment and check the python version is 3.10

4. pip3 install Scrapy and other packages

 

감사합니다.