系列目錄:
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...