scrapy爬取百萬小說

2021-09-20 18:51:38 字數 2451 閱讀 7549

#爬取**實列

第一步:建立乙個scrapy工程【命令列中輸入scrapy startproject demo

第二步:進入這個工程中,建立乙個爬蟲scrapy nss zhuangji.org

:nss檔案

第三部:在spiders中進入到這個nss.py這個檔案

i:出現乙個nssspider類(spider.spider),其中有三個成員變數【name&start_urls

ii有乙個parse解析的方法【用response.xpath(』』).extract_first() || .extract()】就可以了

iii: yield返回字典即可{}

iv: 得到下乙個url

v:再進行自身呼叫【yield.scrapy.request(next_url,callback=self.parse)】【parse沒有()】

:main檔案【執行檔案,extract函式】(可以為任意的名字)

【標準**】:

from scrapy.cmdline import execute

execute("scrapy crawl nns".split())

//或者使用如下的方法

execute(["scrapy","crawl","nns"])

:pipelines檔案

第一步:建立並開啟乙個檔案

第二本:進行寫入

第三部:檔案的關閉

setttings檔案

user-agent:需要重寫寫入

robottext_obey:false

item_pipelines:開啟(原本是注釋掉的【ctrl+/】)

爬取**的**如下:

i:nss檔案

import scrapy

class nssspider(scrapy.spider):

name = 'nss'

# allowed_domains = ['zhuangji.org']

start_urls = ['']

def parse(self, response):

title=response.xpath('//div[@class="title"]/h1/text()').extract_first()

content=''.join(response.xpath('//div[@id="content"]/text()').extract())

yield

next_url=response.xpath('//div[@class="page"]/a[4]/@href').extract_first()

base_url=''.format(next_url)

yield scrapy.request(base_url,callback=self.parse)

ⅱ:pipelines檔案:

calss demo3pipeline(object):

def open_spider(self,spider):

self.file=open("xs.txt","w",encoding="utf-8")

def process_item(self, item,spider):

title=item["title"]

content=item["content"]

info=title+"\n"+content+"\n"

self.file.write(info)

return item

def close_file(self,spider):

self.file.close()

爬取**引起的問題:檔案大小大於2.56m,自動中斷

解決方法:開啟pacharm中的bin目錄下的idea.properties的這個檔案

dea.max.intellisense.filesize引數改為99999

scrapy 爬取小說

速度是相當的快的 爬取整站的 最後結果儲存至mongodb資料庫 pycharm開發還是很好用的 建立專案 scrapy startproject daomubiji 執行專案 scrapy crawl daomubi settings default request headers items t...

scrapy爬取小說 三

根據上章scrapy爬取 二 爬取的 的章節是亂序的,所以需要章節排序。使用item和pipeline對最終結果排序 修改items.py檔案 import scrapy class novelitem scrapy.item define the fields for your item here...

使用scrapy爬取長安有妖氣小說

目標 注意檢視位址最後的,有規律。3103 2998 1 106,但是有三章位址是重複的,所有實際有103個位址,103個章節,正好符合目錄列表,多餘的這三個章節等爬取下來後再手動刪除 scrapy startproject quotetutorial cd quotetutorial scrapy...