[신인] 랭킹 파이썬 파충류 고양이 눈 프레임 Scrapy를 사용하는 방법을 배우게

첫 번째 단계 :

프로젝트를 생성

scrapy의 stratproject [이름]

如 scrapy startproject maoyan

단계 :

프로젝트 폴더 디렉토리 생성 APP 속으로

scrapy의 gensider 영화 maoyan.com

세 번째 단계 :

Movie.py 구성 파일

수입 scrapy
 에서 maoyan.items가 가져 MaoyanItem의 


클래스 MovieSpider (scrapy.Spider) : 
    이름 = ' 영화 ' 
    allowed_domains =를 [ ' maoyan.com ' ] 
    start_urls = [ ' https://maoyan.com/board/4 ' ] 

    데프 분석 ( 자동 응답) : 
        영화 = response.xpath ( ' // DD ' )
         에 대한 movie_item 영화 : 
            항목 = MaoyanItem () 
            항목 [ ' 제목 ' = movie_item.xpath ( ' .//p/a/@title ' ) .extract_first () 
            항목 [ ' 배우 ' = movie_item.xpath ( ' .//p[@class="star " ] / 텍스트 () ' ) .extract_first (). 스트립 () 
            항목 [ ' 시간 ' = movie_item.xpath ( ' .// P는 [@의 클래스 = "releasetime"] / 텍스트 () ' ) .extract_first ()
             수율 항목 

        next_url = response.xpath ( ' // A [텍스트 () = "下一页"] / @의 HREF ' ).extract_first () 
        URL=response.urljoin (next_url)
         산출 scrapy.Request (URL = URL, 콜백 = self.parse를)

4 단계 :

Items.py 구성 파일

수입 scrapy의 


클래스 MaoyanItem (scrapy.Item) : 
    제목 = scrapy.Field () 
    배우 = scrapy.Field () 
    시간 = scrapy.Field ()

5 단계 :

Pipelines.py 구성 파일

수입 pymongo의 


클래스 MongoPipeline (객체) :
     데프  __init__ (자기, mongo_uri, mongo_db) : 
        self.mongo_uri = mongo_uri 
        self.mongo_db = mongo_db 

    @classmethod 
    데프 from_crawler (CLS, 크롤러) :
         리턴 CLS ( 
            mongo_uri = crawler.settings.get ( ' MONGO_URI ' ), 
            mongo_db = crawler.settings.get ( ' mONGO_DB ' ) 
        ) 

    데프 open_spider (자기, 거미) : 
        self.client =pymongo.MongoClient (self.mongo_uri) 
        self.db = self.client [self.mongo_db] 

    DEF process_item (자기, 항목 거미) 
        이름 = 아이템. __class__ . __name__ 
        self.db [이름]를 취소하려면 (딕셔너리 (항목)) 
        반환 항목 

    데프 close_spider (자기 스파이더) 
        self.client.close ()

6 단계 :

Settings.py 구성 파일

# - * - 코딩 : UTF-8 - * - 

#의 maoyan 프로젝트에 대한 Scrapy 설정 
#의 
# 단순 들어,이 파일이 중요하거나 고려 설정 만 포함 
#이 일반적으로 사용합니다. 당신은 문서 컨설팅 더 설정을 찾을 수 있습니다 : 
# 
#      https://docs.scrapy.org/en/latest/topics/settings.html 
#      https://docs.scrapy.org/en/latest/topics/downloader-middleware .html 중에서 
#      https://docs.scrapy.org/en/latest/topics/spider-middleware.html 

BOT_NAME = ' maoyan ' 

SPIDER_MODULES = ' maoyan.spiders ' ] 
NEWSPIDER_MODULE= ' maoyan.spiders ' 


#의 책임 사용자 에이전트에 자신 (및 웹 사이트)를 식별하여 크롤링 
USER_AGENT = ' 모질라 / 5.0 (윈도우 NT 10.0; Win64를; 64) AppleWebKit / (게코 같은 KHTML) 537.36 크롬 / 74.0. 3729.108 사파리 / 537.36 ' 

# robots.txt에 규칙에 순종 
ROBOTSTXT_OBEY = 거짓
 
ITEM_PIPELINES = { ' maoyan.pipelines.MongoPipeline ' : 400 , 
} 

MONGO_URI = ' MongoDB를 : // 관리자 : 로컬 호스트 @ 123456 / ' 
MONGO_DB = ' maoyan '

단계 세븐 :

프로젝트를 실행

scrapy 크롤링 영화

 

추천

출처www.cnblogs.com/liduo0413/p/11582919.html