#爬取**實列
第一步:建立乙個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...