첫 번째 단계 :
프로젝트를 생성
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 크롤링 영화