Scrapy로 노벨 장 수상자 정보 획득(PJDV6.4장) - Scrapy shell

개요


  • PJDV 5.7~5.7.1, PJDV 5.7.3의 후속.

  • O'Reilly Japan-Python과 JavaScript로 시작하는 데이터로 바쁘게 맞추기(PJDV)의 학습용

  • scrapy shell을 사용하여 XPathPJDV6.4 "첫 번째 Scrapy 거미"(nwinners list spider.py)의 XPath를 구체적으로 확인합니다.
  • 차리다


    웹 페이지 읽기


    다음 중 한 가지 방법으로 읽습니다.
  • scrapy shell http://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country 시작
  • 참조: PJDV6.3.1장 or스크랩 셸을 사용한 롤업 - Qiita
  • scrapy shell(파라미터 url 없음)에서 시작한 후fetch("http://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country")
  • 참조: 스크랩 셸을 사용한 롤업 - Qiita
  • scrapy crawl에서 scrapy shell 시작
  • 후술
  • view(response) 브라우저를 시작하면 편리합니다.

    XPath 기술 위치


    nwinners_list_spider.py

    h2s = response.xpath('//h2')


    설명


    생략 문법
    완전한 문법
    의향
    참고 자료
    //h2
    /descendant-or-self::node()/child::h2
    모든 h2 요소
    참조 1 참조 2

    조사하다.


    뭘 받으셨는지 확인해 볼게요.



    country = h2.xpath('span[ @class ="mw-headline"]/text()').extract()

    winners = h2.xpath('following-sibling::ol[1]')
    
    for w in winners.xpath('li'):
    
    text = w.xpath('descendant-or-self::text()').extract()
    

    tips


    scrapy crawl에서 scrapy shell 시작하기


    nwinners_shell.py
    # -*- coding: utf-8 -*-
    import scrapy
    class NWinnerShell(scrapy.Spider):
        name = 'nwinner_shell'
        allowed_domains = ['en.wikipedia.org']
        start_urls = [
            "http://en.wikipedia.org/wiki/List_of_Nobel_laureates_by_country"
        ]
        def parse(self, response):
            scrapy.shell.inspect_response(response, self)
    

    참고 자료


    브라우저에서 Scrapy 결과 열기 - Qiita
    scrapy에서 자주 사용하는 xpath, css 선택기 - Pythn Snipets
    Pythhon Tips: 목록에서 중복 요소를 제거하려면 - Life with Pythhon

    좋은 웹페이지 즐겨찾기