四 ITcast小爬蟲 o指定輸出格式的檔案

2021-09-11 02:53:38 字數 2192 閱讀 9435

此次演示的itcast小爬蟲沒有寫管道檔案,而是將所有的item存到乙個列表中,執行爬蟲時通過-o指定輸出檔案格式來儲存資訊。

原理:通過下面列出的itcast.py 檔案的  return items 可知,爬蟲檔案返回給引擎的資訊並不是欄位item,而是自定義的列表items,此時引擎會判斷出並非item,則會按照我們的命令來儲存資訊。

執行命令:scrapy crawl itcast -o teachers.json

這裡teachers.json 將儲存爬取下來的資訊,也可以輸出成其他格式的檔案。

scrapy儲存資訊最簡單的方法主要有四種,-o指定輸出格式的檔案,命令如下:

#json格式,預設為unicode編碼

scrapy crawl itcast -o teachers.json

#json lines格式,預設為unicode編碼

scrapy crawl itcast -o teachers.json1

#csv逗號表示式,可用excel開啟

scrapy crawl itcast -o teachers.csv

#xml格式

scrapy crawl itcast -o teachers.xml

**:

這裡只列出spiders/itcast.py 檔案和items.py 檔案  

items.py檔案:定義需要儲存資訊的字段

spiders/itcast.py 檔案:解析響應檔案並把資訊存到item裡,然後把所有item存到列表items裡,通過-o指定輸出檔案格式將資訊輸出到指定檔案

items.py

# -*- coding: utf-8 -*-

# define here the models for your scraped items

## see documentation in:

# import scrapy

class itcastitem(scrapy.item):

# define the fields for your item here like:

#老師姓名

name = scrapy.field()

#老師職稱

title = scrapy.field()

#老師資訊

info = scrapy.field()

spiders/itcast.py

#rvb nmygfvc 98aq23 -*- coding: utf-8 -*-

import scrapy

from itcast.items import itcastitem #匯入item

class itcastspider(scrapy.spider):

#爬蟲名,啟動爬蟲時需要的引數*必需

name = 'itcast'

#爬取域的範圍,允許爬蟲在這個域下進行爬取(可選)

allowed_domains = ['']

#起始url列表,爬蟲執行後第一批請求將從這個列表獲取

start_urls = ['/channel/teacher.shtml']

def parse(self, response):#解析響應檔案

node_list = response.xpath("//div[@class='li_txt']")

items=#列表儲存所有的item

for node in node_list:

#建立item欄位物件,用來儲存字段資訊

item = itcastitem()

#.extract()提取出xpath物件的內容部分,提取之後是個列表,需要取索引

name = node.xpath("./h3/text()").extract()

title = node.xpath("./h4/text()").extract()

info = node.xpath("./p/text()").extract()

#把資訊儲存到item欄位中

item['name'] = name[0]

item['title'] = title[0]

item['info'] = info[0]

return items #資訊返回給引擎,判斷出並非item會按照我們的命令來儲存資訊

小爬蟲系列

玩玩小爬蟲 抓取時的幾個小細節 摘要 這一篇我們聊聊在頁面抓取時應該注意到的幾個問題。一 網頁更新 我們知道,一般網頁中的資訊是不斷翻新的,這也要求我們定期的去抓這些新資訊,但是這個 定期 該怎麼理解,也就是多長時間需要抓一次該頁面,其實這個定期也就是頁面快取時間,在頁面的快取時間內我們再次抓取該網...

入門小爬蟲

python爬蟲最基本流程是,獲取請求,解析頁面,處理頁面資料 python獲取頁面的的第三方庫很多,像request,urllib,解析方法有最簡單的re正規表示式,也有專門用來解析的庫xmlx,beautifulsoup等。下面以request,正規表示式為例。一 獲取請求,得到網頁文字,先上 ...

爬蟲心得(四)

這次採集正好趕上我的畢業,所以,晚了三天才看到郵箱裡面的任務,這次處理很順利。但是,也是自以為很順利,結果還是經歷了一些困難。現在就列一下所遇到的問題 目錄 1.requestdetail函式和processarticle函式的作用 2.處理文章 現的img和video標籤 3.注意 request...