Python爬蟲實戰之爬取鏈家廣州房價 03儲存

2021-07-27 16:59:33 字數 2542 閱讀 8837

系列目錄:

python爬蟲實戰之爬取鏈家廣州房價_01簡單的單頁爬蟲

python爬蟲實戰之爬取鏈家廣州房價_02把小爬蟲變大

這一小節主要講一下前面一直沒有實現的儲存,儲存主要分兩大類:檔案和資料庫。結合這次爬蟲的資料量及後期分析的需要,這次主要介紹sqlite。

通過對sqlite資料庫的封裝,處理多執行緒的寫入。python的db-api介面主要處理connection物件和curson物件,應用與資料庫之間通訊需要建立資料庫連線,當乙個連線(或連線池)建立後,可以建立乙個游標,向資料庫傳送請求,然後從資料庫中接收回應,物件的屬性和方法可參考官方的文件說明。關於多執行緒和資料庫的結合,還在摸索當中。

class

sqlitewraper

(object):

"""sqlite資料庫的封裝,處理多執行緒寫入

"""def__init__

(self, path, command='', *args, **kwargs):

self.lock = threading.rlock()

self.path = path

if command != '':

conn = self.get_conn()

cu = conn.cursor()

cu.execute(command)

defget_conn

(self):

conn = sqlite3.connect(self.path)

conn.text_factory = str

return conn

defconn_close

(self, conn=none):

conn.close()

defconn_trans

(func):

defconnection

(self, *args, **kwargs):

self.lock.acquire()

conn = self.get_conn()

kwargs['conn'] = conn

rs = func(self, *args, **kwargs)

self.conn_close(conn)

self.lock.release()

return rs

return connection

@conn_trans

defexecute

(self, command, method_flag=0, conn=none):

cu = conn.cursor()

try:

ifnot method_flag:

cu.execute(command)

else:

cu.execute(command[0], command[1])

conn.commit()

except sqlite3.integrityerror, e:

print e

return -1

except exception, e:

print e

return -2

return

0

結果如下:

sqlite> select * from xiaoqu limit 10

;.com/xiaoqu/2113328145985364/|盈港國際|90天成交0套|0套正在出租|南沙|金洲|未知年建成|暫無均價|0套

.com/xiaoqu/2113328662147633/|疊翠峰|90天成交0套|0套正在出租|南沙|南沙區府|未知年建成|暫無均價|0套

.com/xiaoqu/2113668346245868/|富力天海灣|90天成交0套|0套正在出租|南沙|金洲|未知年建成|暫無均價|0套

.com/xiaoqu/2113826645830960/|通大旭日園|90天成交0套|0套正在出租|南沙|金洲|未知年建成|暫無均價|0套

.com/xiaoqu/2113306909962092/|南沙城|90天成交0套|0套正在出租|南沙|金洲|未知年建成|13226元/m2|0套

.com/xiaoqu/2114256349654567/|錦珠廣場|90天成交0套|0套正在出租|南沙|金洲|2023年建成|暫無均價|0套

.com/xiaoqu/2112879567532818/|南沙奧園|90天成交0套|0套正在出租|南沙|金洲|未知年建成|7970元/m2|0套

.com/xiaoqu/2114393419248043/|環城北路|90天成交0套|0套正在出租|南沙|大崗鎮|未知年建成|暫無均價|0套

.com/xiaoqu/2113199275994557/|南沙珠江灣|90天成交0套|0套正在出租|南沙|金洲|未知年建成|10376元/m2|0套

.com/xiaoqu/2114416717295822/|市南路東涌大街|90天成交0套|0套正在出租|南沙|東涌鎮|未知年建成|暫無均價|0套

Python實戰爬蟲 爬取段子

不管三七二十一我們先導入模組 段子所在的 import re import requests 如果沒這模組執行cmd pip install requests領域 web開發,爬蟲,資料分析,資料探勘,人工智慧 零基礎到專案實戰,7天學習上手做專案 獲取 的內容 段子所在的 import re im...

Python爬蟲實戰 爬取鏈家網二手房資料

買房裝修,是每個人都要經歷的重要事情之一。相對於新房交易市場來說,如今的二手房交易市場一點也不遜色,很多二手房的資訊剛剛掛出來,就被其他購房者拿下了。爬取鏈家網二手房資訊 受害者位址 匯入工具 import requests import parsel import time 請求網頁,爬取資料 f...

Python爬取鏈家房價資訊

房子問題近些年來越來越受到大家的關注,要了解近些年的房價,首先就要獲取網上的房價資訊,我們以鏈家網上 的房價資訊為例,將資料爬取下來並儲存起來。這次資訊的爬取我們依然採取requests beautiful soup的線路來爬取鏈家網上的 房的資訊。需要安裝好anaconda,並保證系統中已經有re...