色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Python scrapy爬取小說代碼案例詳解

瀏覽:2日期:2022-07-18 09:56:43

scrapy是目前python使用的最廣泛的爬蟲框架

架構(gòu)圖如下

Python scrapy爬取小說代碼案例詳解

解釋:

Scrapy Engine(引擎): 負(fù)責(zé)Spider、ItemPipeline、Downloader、Scheduler中間的通訊,信號、數(shù)據(jù)傳遞等。 Scheduler(調(diào)度器): 它負(fù)責(zé)接受引擎發(fā)送過來的Request請求,并按照一定的方式進(jìn)行整理排列,入隊,當(dāng)引擎需要時,交還給引擎。 Downloader(下載器):負(fù)責(zé)下載Scrapy Engine(引擎)發(fā)送的所有Requests請求,并將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spider來處理, Spider(爬蟲):它負(fù)責(zé)處理所有Responses,從中分析提取數(shù)據(jù),獲取Item字段需要的數(shù)據(jù),并將需要跟進(jìn)的URL提交給引擎,再次進(jìn)入Scheduler(調(diào)度器), Item Pipeline(管道):它負(fù)責(zé)處理Spider中獲取到的Item,并進(jìn)行進(jìn)行后期處理(詳細(xì)分析、過濾、存儲等)的地方. DownloaderMiddlewares(下載中間件):你可以當(dāng)作是一個可以自定義擴(kuò)展下載功能的組件。Spider Middlewares(Spider中間件):你可以理解為是一個可以自定擴(kuò)展和操作引擎和Spider中間通信的功能組件(比如進(jìn)入Spider的Responses;和從Spider出去的Requests

一。安裝

pip install Twisted.whl

pip install Scrapy

Twisted的版本要與安裝的python對應(yīng),https://jingyan.baidu.com/article/1709ad8027be404634c4f0e8.html

二。代碼

本實例采用xpaths解析頁面數(shù)據(jù)

按住shift-右鍵-在此處打開命令窗口

輸入scrapy startproject qiushibaike 創(chuàng)建項目

輸入scrapy genspiderqiushibaike 創(chuàng)建爬蟲

1>結(jié)構(gòu)

Python scrapy爬取小說代碼案例詳解

2>qiushibaike.py爬蟲文件

import scrapyfrom scrapy.linkextractors import LinkExtractorfrom scrapy.spiders.crawl import Rule, CrawlSpiderclass 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() #標(biāo)題 time=response.xpath(’ //span[@class='stats-time']/text()’).extract_first().strip() #發(fā)布時間 content=response.xpath(’//div[@class='content']/text()’).extract_first().replace(’’,’n’) #內(nèi)容 score=response.xpath(’//i[@class='number']/text()’).extract_first().strip() #好笑數(shù) yield({'title':title,'content':content,'time':time,'score':score});

3>pipelines.py 數(shù)據(jù)管道[code]class QiushibaikePipeline:

class QiushibaikePipeline: def open_spider(self,spider):#啟動爬蟲中調(diào)用 self.f=open('xiaoshuo.txt','w',encoding=’utf-8’) def process_item(self, item, spider): info=item.get('title')+'n'+ item.get('time')+' 好笑數(shù)'+item.get('score')+'n'+ item.get('content')+’n’ self.f.write(info+'n') self.f.flush() def close_spider(self,spider):#關(guān)閉爬蟲中調(diào)用 self.f.close()

4>settings.py

開啟ZhonghengPipeline

ITEM_PIPELINES = { ’qiushibaike.pipelines.QiushibaikePipeline’: 300,}

5>0main.py運行

from scrapy.cmdline import executeexecute(’scrapy crawl qiushibaike’.split())

6>結(jié)果:

生成xiaohua.txt,里面有下載的笑話文字

Python scrapy爬取小說代碼案例詳解

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产成人毛片亚洲精品不卡 | 国产成a人亚洲精v品久久网 | 亚洲mm8成为人影院 亚洲m男在线中文字幕 | 欧美日韩在线视频不卡一区二区三区 | 亚洲久久网| 中文字幕亚洲高清综合 | 综合 91在线精品 | 狠狠色婷婷丁香综合久久韩国 | 精品看片| 国产在线一区二区三区四区 | 在线播放另类 | 在线成人毛片 | 免费在线成人网 | 免费看又黄又爽又猛的网站 | 成人国产在线视频 | 国产精品第五页 | 深夜福利国产 | 91资源在线观看 | 色综合久久一本首久久 | 国产久草视频在线 | 欧美三区在线观看 | 午夜两性试爱视频免费 | 欧美成年 | 久久精品呦女 | 久久在线视频免费观看 | 欧美大狠狠大臿蕉香蕉大视频 | 欧美成人香蕉网在线观看 | 亚洲一区在线视频观看 | 无限观看社区在线视频 | 欧美特黄一片aa大片免费看 | 手机看片福利视频 | 欧美一级欧美三级在线 | 亚洲综合在线观看视频 | 色色视频免费网 | 国产高清天干天天视频 | 中文字幕日韩有码 | 日本三级特黄 | 91精品国产一区二区三区左线 | 欧美在线高清视频播放免费 | 久草8| 国产成人精品本亚洲 |