Python爬蟲0基礎入門,快速抓取大規模數據!建議收藏!
在這一部份咱們將看看怎麼存儲數據。需求存儲的數據有兩部份,一部分是咱們已經抓取和未被抓取的網頁地址;另一部不份是咱們抓取到的數據。首先想到的存儲方式是使用關係資料庫來存儲。
在關係資料庫中,表是資料庫中存放關係數據的集合,一個資料庫裡面一般都包括多個表,要操作關係資料庫,首先需求銜接到資料庫,一個資料庫銜接稱為Connection;銜接到資料庫後,需求打開游標cursor,通過Cursor執行SQL語句。
使用SQLite存儲數據
SQLite是一種嵌入式資料庫,它的資料庫就是一個文件。python就內置了SQLite3,所以咱們不需求裝置任何額外的東西。本著從最簡單的下手然後逐步深入的準則,咱們先看看怎麼使用SQLite存儲數據,然後在看看怎麼使用其他關係資料庫。
在咱們的資料庫中創建一張urls的表,這張表包括兩個欄位url和timestamp。timestamp欄位記錄url採集的時刻,沒有採集的timestamp為空。
下面函數add_new_url()用來添加新的未採集的url資料庫表中。
下面函數get_unvisited_url()將從資料庫中返回一條待採集的url。
使用MySQL存儲數據
這一部分我們已經安裝和搭建了一台Mysql的資料庫,這裡就不討論如何搭建Mysql資料庫了。如果你已經學習了上一節中如何SQLite來存儲數據,那麼你已經學會了基本的python的資料庫編程。對於理解下面的代碼不會有任何問題,和SQLite版本的區別只是資料庫連接的方式不一樣而已。
總結
這部分我們討論了如何讓我們的URL存儲到關係資料庫中,作為擴展練習讀者還可以用同樣的方法保存抓取到的網頁內容。除了關係資料庫之外,我們也可以使用非關係數據來保存數據。
另外,在接下來的章節中我們將討論如何抓取動態生成內容的網頁。


TAG:Python |