速度是相當的快的
爬取整站的**
最後結果儲存至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...