scrapy 爬取小說

2021-09-25 21:02:26 字數 2056 閱讀 3070

速度是相當的快的

爬取整站的**

最後結果儲存至mongodb資料庫

pycharm開發還是很好用的

建立專案:scrapy startproject daomubiji                

執行專案:scrapy crawl daomubi

settings

default_request_headers =
items

title = scrapy.field()

section = scrapy.field()

content = scrapy.field()

spider

import scrapy

from daomubiji.items import daomubijiitem

class daomubispider(scrapy.spider):

name = 'daomubi'

allowed_domains = ['daomubiji.com']

start_urls = ['']

def start_requests(self):

for i in range(1, 9):

yield scrapy.request(''.format(i), callback=self.parse)

def parse(self, response):

item = daomubijiitem()

item['title'] = response.xpath('//h1[@class="focusbox-title"]/text()').extract_first()#提取**名

items = response.xpath('//article[@class="excerpt excerpt-c3"]')

for href in items:

detail_href = href.xpath('./a/@href').extract_first()#提取章節的正文鏈結

yield scrapy.request(url=detail_href, meta=, callback=self.get_content)

def get_content(self, response):

item = response.meta['item']

item['section'] = response.xpath('//h1[@class="article-title"]/text()').extract_first()#提取**的章節名

pages = response.xpath('//article[@class="article-content"]//p/text()').extract()#解析正文

item['content'] = ''.join(pages)

yield item

pipelines

from scrapy.item import item

import pymongo

class daomubijipipeline(object):

def open_spider(self, spider):

# 連線資料庫

self.client = pymongo.mongoclient(host='localhost', port=27017)

# 建立myspider資料庫

self.db = self.client.daomubiji

def close_spider(self, spider):

self.client.close()

def process_item(self, item, spider):

collection = self.db.spider.xiaoshuo

post = dict(item) if isinstance(item, item) else item

collection.insert_one(post)

return item

scrapy爬取小說 三

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

scrapy爬取百萬小說

爬取 實列 第一步 建立乙個scrapy工程 命令列中輸入scrapy startproject demo 第二步 進入這個工程中,建立乙個爬蟲 scrapy nss zhuangji.org nss檔案 第三部 在spiders中進入到這個nss.py這個檔案 i 出現乙個nssspider類 s...

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

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