Scrapy - 첫 번째 scrapy 프로그램

2165 단어 Scrapy
1. 스파이더 파일 작성
scrapy genspider 응용 프로그램 이름을 실행하고 웹 페이지의 시작 URL을 찾습니다. 예를 들어 scrapy genspider qiubai www.qiushibaik.com)spiders 폴더에 응용 프로그램과 같은 이름을 생성합니다.py 파일
# -*- coding: utf-8 -*-
import scrapy

class QiubaiSpider(scrapy.Spider):
    name = 'qiubai' #    
    #       (         url       )
    allowed_domains = ['https://www.qiushibaike.com/']
    #     url
    start_urls = ['https://www.qiushibaike.com/']

     #    URL           ,    response        url     ,       .                NUll 
     def parse(self, response):
        print(response.text) #            
        print(response.body)#           

2. settings를 설정합니다.py 프로필
          :
19 :USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' #         

22 :ROBOTSTXT_OBEY = False  #          robots  
37 :#COOKIES_ENABLED = False #       ;       session;    True

3. 파충류 프로그램 실행
scrapy crawl      :                
scrapy crawl      --nolog:                 

4. 실례
# -*- coding: utf-8 -*-
import scrapy

class QiubaiSpider(scrapy.Spider):
    name = 'qiubai'
    allowed_domains = ['https://www.qiushibaike.com/']
    start_urls = ['https://www.qiushibaike.com/']

    def parse(self, response):
        #xpath response    ,   xpath            
        odiv = response.xpath('//div[@id="content-left"]/div')
        content_list = [] #          
        for div in odiv:
            #xpath        ,         Selector     。             Selector   ,    extract()         Selecor   。
            author = div.xpath('.//div[@class="author clearfix"]/a/h2/text()')[0].extract()
            content=div.xpath('.//div[@class="content"]/span/text()')[0].extract()

            #             
            dic={
                '  ':author,
                '  ':content
            }
            #      content_list     
            content_list.append(dic)

        return content_list

좋은 웹페이지 즐겨찾기