python 파충류 scrapy 0 부터 잡기 배우 기 (2)

3159 단어
계속해서 전편 의 예 를 들 어, 이미 전체 웹 페이지 의 원본 코드 를 초보 적 으로 찾 았 으 니, 지금 은 우리 가 필요 로 하 는 데 이 터 를 캡 처 해 야 한다.
선택 기 selectors 사용 하기:
우선 명령 행 인터페이스 에서 셸: scrapy 셸 을 엽 니 다. "http://quotes.toscrape.com/page/1/"차 로 돌아 가세 요."
#Selector        :
1.xpath():  xpath   ,              selector list  
2.css():  css   ,              selector list  
3.extract():       unicode      list
4.re():                  ,  Unicode   list  
1. xpath 사용
response. xpath ('xpath 표현 식')
\ # \ # \ # \ # 몇 개의 표현 식 \ # \ # \ # \ # \ # \ #
/: 루트 노드 에서 선택
/ /: 일치 하 는 현재 노드 에서 문서 의 노드 를 선택 하고 위 치 를 고려 하지 않 습 니 다.
.: 현재 노드 선택
...: 현재 노드 의 부모 노드 선택
@: 속성 선택
몇 가지 간단 한 예:
response.xpath('/html/head/title') --  HTML  head    title  
response.xpath('/html/head/title/text()')--  title        
response.xpath('//title')--    title  
response.xpath('//div[@class="name"')--      class="name" div    
response.xpath('//a[contains(@href,"image")]/@href')--        image      ,  contains  
2. css 의 사용
response. css ('css 표현 식') \ # \ # \ # 몇 가지 간단 한 예 \ # \ # \ # \ # # \ # \ #
response.css('title::text')--  title        
3. extract 의 사용
respnse.xpath('//ul/li/a/@href').extract()--  
4. re 의 사용 및 정규 표현 식
     :1). ——             ;
        2)\d ——    0-9
        3)\D ——     
        4)\s ——         
        5)\S ——     
        6)\w ——      
        7)\W ——       
        8)* ——       0    
        9)+ ——       1    
        10)? ——       0 1 
        11)^ ——       
        12)$ ——       
        13)()——              ,   1  
        14)(?P...)—— ...       ,              name
        15)\ ——               
        16)(?P=name)——               
        17){m} ——       m 
        18){m,n} ——       m n ,  m,   0-n ;  n,   m     19)[] ——           20)^ ——       
주의: ^ [] 에 나타 나 는 것 은 부정적인 뜻 입 니 다. "[]" 는 문자 집합 을 대표 합 니 다. "^" 문자 집중 만 이 역방향 문자 집합 이라는 뜻 입 니 다.
이전 예 에서 코드 수정:
def parse(self, response):
        for quote in response.css('div.quote'):
            yield {
                'text': quote.css('span.text::text').extract_first(),
                'author': quote.css('small.author::text').extract_first(),
                'tags': quote.css('div.tags a.tag::text').extract(),
            }
운행 결과
2018-01-29 09:21:55 [scrapy.core.scraper] DEBUG: Scraped from <200 http://quotes.toscrape.com/page/1/>
{'text': u'\u201cIt is our choices, Harry, that show what we truly are, far more than our abilities.\u201d', 
'tags': [u'abilities', u'choices'], 'author': u'J.K. Rowling'}

구체 적 이 고 깊이 있 는 사용 참고:http://www.bubuko.com/infodetail-2172861.html상세 하 다

좋은 웹페이지 즐겨찾기