Python scrapy 소설 코드 추출 사례 상세 설명
구조 도 는 다음 과 같다.
설명:
pip install Twisted.whl
pip install Scrapy
Twisted 버 전 은 설 치 된 python 과 대응 해 야 합 니 다.https://jingyan.baidu.com/article/1709ad8027be404634c4f0e8.html
둘.코드
이 인 스 턴 스 는 xpaths 로 페이지 데 이 터 를 분석 합 니 다.
시 프 트 를 누 르 고-오른쪽 단 추 를 누 르 고-여기 서 명령 창 을 엽 니 다.
scrapy startproject qiushibaike 생 성 항목 을 입력 하 십시오.
scrapy genspiderqiushibaike 를 입력 하여 파충 류 를 만 듭 니 다.
1>구조
2>qiushibaike.py 파충류 파일
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders.crawl import Rule, CrawlSpider
class BaiduSpider(CrawlSpider):
name = 'qiushibaike'
allowed_domains = ['qiushibaike.com']
start_urls = ['https://www.qiushibaike.com/text/']#
#
rules= (
Rule(LinkExtractor(restrict_xpaths=r'//a[@class="contentHerf"]'),callback='parse_item',follow=True),
Rule(LinkExtractor(restrict_xpaths=r'//ul[@class="pagination"]/li/a'),follow=True)
)
def parse_item(self, response):
title=response.xpath('//h1[@class="article-title"]/text()').extract_first().strip() #
time=response.xpath(' //span[@class="stats-time"]/text()').extract_first().strip() #
content=response.xpath('//div[@class="content"]/text()').extract_first().replace(' ','
') #
score=response.xpath('//i[@class="number"]/text()').extract_first().strip() #
yield({"title":title,"content":content,"time":time,"score":score});
3>pipelines.py 데이터 파이프[코드]클래스 QiushibaikePipeline:
class QiushibaikePipeline:
def open_spider(self,spider):#
self.f=open("xiaoshuo.txt","w",encoding='utf-8')
def process_item(self, item, spider):
info=item.get("title")+"
"+ item.get("time")+" "+item.get("score")+"
"+ item.get("content")+'
'
self.f.write(info+"
")
self.f.flush()
def close_spider(self,spider):#
self.f.close()
4>settings.pyZhonghengPipeline 오픈
ITEM_PIPELINES = {
'qiushibaike.pipelines.QiushibaikePipeline': 300,
}
5>0main.py 실행
from scrapy.cmdline import execute
execute('scrapy crawl qiushibaike'.split())
6>결과:xiaohua.txt 생 성,다운로드 한 농담 문자 가 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.