2013-10-16 5 views
3

:다음 작업을 수행 할 수없는 오전

from scrapy.selector import Selector 

오류는 다음과 같습니다

파일 "/Desktop/KSL/KSL/spiders/spider.py", 라인 1, 에서 scrapy.selector 가져 오기 선택기 ImportError : 가져올 수 없습니다. 이름 선택기

마치 내 컴퓨터에 LXML이 설치되어 있지 않은 것처럼 보입니다. 또한, 나는 이것이 치료에 내장 된 기본 모듈이라고 생각했습니다. 아마?

생각하십니까?

+2

',

conda install -c scrapinghub scrapy 

그렇지 않으면 할 새로운 통합 셀렉터 API에 해당한다. http://doc.scrapy.org/en/latest/topics/selectors.html#constructing-selectors (버전 0.19)를 따르는 중이면 소스에서 Scrapy를 설치해야합니다. Scrapy 0.19는 공식적으로 PyPI에서 공개되지 않았습니다. –

답변

10

대신 HtmlXPathSelector을 가져 오십시오.

from scrapy.selector import HtmlXPathSelector 

다음 HTML을 구문 분석 ALL 기타 사항 서보 -OFF() 방법을 사용합니다. 예를 들어,

sel = HtmlXPathSelector(response) 
    site_names = sel.select('//ul/li') 

당신이 Scrapy 사이트 (http://doc.scrapy.org/en/latest/intro/tutorial.html)에 대한 자습서를 다음과 같은 경우, 업데이트 된 예는 다음과 같습니다이 도움이

from scrapy.spider import BaseSpider 
    from scrapy.selector import HtmlXPathSelector 

    class DmozSpider(BaseSpider): 
     name = "dmoz" 
     allowed_domains = ["dmoz.org"] 
     start_urls = [ 
      "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", 
      "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" 
     ] 

     def parse(self, response): 
      sel = HtmlXPathSelector(response) 
      sites = sel.select('//ul/li') 

      for site in sites: 
       title = site.select('a/text()').extract() 
       link = site.select('a/@href').extract() 
       desc = site.select('text()').extract() 
       print title, link, desc 

희망을!

+0

Scrapy 0.18 튜토리얼보기 http://doc.scrapy.org/en/0.18/intro/tutorial.html – dangra

+1

이 방법은 효과가 있지만 구문 분석의 정의에는 콜론이 없습니다.(). 나는 그것을 편집하지만, stackoverflow 이상한 6 문자를 편집 할 수 있습니다 .... – chrishiestand

+0

좋은 캐치! 결정된. – user256604

1

동일한 문제가 발생합니다. 나는 당신의 치료 버전에 문제가 있다고 생각합니다.

cmd에 scrapy version -v을 입력하여 버전을 확인할 수 있습니다. 내가 아는 한 최신 버전은 0.24.4 (2014.10.23)입니다. 당신은 http://scrapy.org/을 방문하여 최신 것을 찾을 수 있습니다.

0

내가 치료법을 설치 한 것과 같은 문제가있었습니다 (제 OS는 우분투입니다). 나는 그것을했다

sudo apt-get install python-scrapy 

대신 파이썬에서 설치하십시오. 당신이 아나콘다를 사용하는 경우 단지 scrapy.selector 수입 Selector`에서 다음

pip install Scrapy 

http://doc.scrapy.org/en/latest/intro/install.html

관련 문제