手把手教你進(jìn)行Scrapy中item類的實(shí)例化操作
1、首先在爬蟲主體文件中將Item模塊導(dǎo)入進(jìn)來(lái),如下圖所示。

2、第一步的意思是說(shuō)將items.py中的ArticleItem類導(dǎo)入到爬蟲主體文件中去,將兩個(gè)文件串聯(lián)起來(lái),其中items.py的部分內(nèi)容如下圖所示。

3、將這個(gè)ArticleItem類導(dǎo)入之后,接下來(lái)我們就可以對(duì)這個(gè)類進(jìn)行初始化,并對(duì)其進(jìn)行相應(yīng)值的填充。首先去parse_detail函數(shù)下對(duì)其進(jìn)行實(shí)例化,實(shí)例化的方法也十分簡(jiǎn)單,如下圖所示。

4、接下來(lái),我們將填充對(duì)應(yīng)的值。實(shí)際上我們?cè)谥巴ㄟ^(guò)Xpath或者CSS選擇器已經(jīng)獲取到了目標(biāo)數(shù)據(jù),如下圖所示,現(xiàn)在要做的就是依次填充目標(biāo)字段的值。

5、我們可以像字典一樣來(lái)給目標(biāo)字段傳值,例如item[“title”]= title,其他的目標(biāo)字段的填充也是形如該格式,填充完成之后如下圖所示。

其中,目標(biāo)字段可以參考items.py中定義的item,這樣可以加快填充的速度。
6、到這里,我們已經(jīng)將需要填充的字段全部填充完成了,之后我們需要調(diào)用yield,這點(diǎn)十分重要。再調(diào)用yield之后,實(shí)例化后的item就會(huì)自動(dòng)傳遞到pipeline當(dāng)中去??梢钥吹较聢D中的pipelines.py中默認(rèn)給出的代碼,說(shuō)明pipeline其實(shí)是可以接收item的。

7、到這里,關(guān)于實(shí)例化item的步驟就已經(jīng)完成了,是不是比較簡(jiǎn)單呢?我們后面把pipeline配置起來(lái),一步一步的將Scrapy串起來(lái)。