糗事百科段子爬取

項目示例:糗事百科段子爬取并基于終端進(jìn)行持久化存儲

1)創(chuàng)建項目

2)編寫爬蟲

3)修改配置

4)執(zhí)行程序

基于終端指令的持久化存儲
要求:只可以將 parse 方法的返回值存儲到本地的文本文件中
注意:持久化存儲對應(yīng)的文本文件的類型只可以為:'json', 'csv' 等指定類型
指令:scrapy crawl spidername -o filepath
好處:簡介高效便捷
缺點:局限性比較強(qiáng)(數(shù)據(jù)只可以存儲到指定后綴的文本文件中)

基于管道的持久化存儲
1)數(shù)據(jù)解析(參照上文)

2)在 item 類中定義相關(guān)的屬性(items.py:數(shù)據(jù)結(jié)構(gòu)模板文件,定義數(shù)據(jù)屬性)

3)將解析的數(shù)據(jù)封裝存儲到 item 類型的對象

4)將 item 類型的對象提交給管道進(jìn)行持久化存儲的操作

5)在管道類的 process_item 中要將其接受到的 item 對象中存儲的數(shù)據(jù)進(jìn)行持久化存儲操作

6)在配置文件中開啟管道

  • 程序執(zhí)行
  • 好處:通用性更強(qiáng)

補充
如果最終需要將爬取到的數(shù)據(jù)值一份存儲到磁盤文件,一份存儲到數(shù)據(jù)庫中,則應(yīng)該如何操作 scrapy?

上述代碼中,字典中的兩組鍵值分別表示會執(zhí)行管道文件中對應(yīng)的兩個管道類中的 process_item 方法,實現(xiàn)兩種不同形式的持久化操作。

知識小結(jié)
1)管道文件中一個管道類對應(yīng)的是將數(shù)據(jù)存儲到一種平臺
2)爬蟲文件提交的item只會給管道文件中第一個被執(zhí)行的管道類接受
3)process_item 中的 return item 表示將 item 傳遞給下一個即將被執(zhí)行的管道類

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容