1、pymongo的使用
前三步為建立物件
第一步建立連線物件
conn = pymongo.mongoclient('ip位址',27017)
第二步建立庫
db = conn['庫名']
第三步建立表
myset = db['集合名']
第四步把資料插入資料庫
myset.inset.one({})
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @time : 2019/6/26 8:56
# @author : #####
# @site :
# @file : 貓眼電影_mongo儲存.py
# @software: pycharm
from urllib import request
import re
import time
import pymongo
class maoyanspider(object):
def __init__(self):
#用來計數
self.page=1
#連線物件
self.coon =pymongo.mongoclient('locslhost',27017)
#建立庫物件
self.db=self.coon['maoyaodb']
#集合物件
self.myset=self.db['top100']
def get_page(self,url):
req = request.request(url,headers=self.headers)
res = request.urlopen(req)
html = res.read().decode('utf-8')
self.parse_page(html)
def parse_page(self,html):
p = re.compile( '
.*?title="(.*?)".*?class="star">(.*?).*?class="releasetime">(.*?)',re.s)
r_list = p.findall(html)
self.write_mongo(r_list)
def write_mongo(self,r_list):
for r_t in r_list:
d={'電影名稱:':r_t[0].strip(),
'電影主演:':r_t[1].strip(),
#插入資料庫
self.myset.inset.one(d)
def work_on(self):
for pn in range(0,41,10):
url = '' % str(pn)
self.get_page(url)
print('第%d頁爬取成功' % self.page)
self.page += 1
time.sleep(4)
if __name__ == '__main__':
begin = time.time()
spider = maoyanspider()
spider.work_on()
end = time.time()
print("執行時間%.2f" % (end - begin))
#注不完美,仍然需修改
2、mysql的使用
mysql-front視覺化工具,建庫建表新增字段
1、建立連線物件:db = pymysql.connet
2、建立游標物件:cursor = db.sursor
3、執行命令:cursor.execute()
4、提交到資料庫執行
5、關閉:cursor.close
mysql-front使用流程
1、建立資料庫:
localhost--資料庫--新建---資料庫
資料庫名改為maoyan (專案mysql庫名)--- 字符集utf8 ---確定
2、建立表:
流程:選中maoyao資料庫 --選中資料 ----新建 ----出現新增選單 ---名稱改為top100 ---建立成功
3、往**中新增字段:
流程:選中top100表單 --- 資料庫 ----新建 ----欄位 ---出現新增介面 ----名稱改為name ---預設varchar ---- 長度50 --確定
用同樣的方法穿件字段star和time
id一般設定為int 長度視情況而定
spark持久化(快取)
1 惰性求值 rdd轉化過程都是惰性求值的。這意味著在被呼叫行動操作之前spark不會開始計算,spark會在內部記錄下所要求執行的操作的相關資訊,我們可以把每個rdd看作我們通過轉化操作構建出來的 記錄如何計算資料的指定列表。把資料讀取到rdd的操作同樣是惰性的。2 持久化快取 sparkrdd是...
jpa持久化及快取
1 spring jpa持久化 由entitymanager 管理,對應乙個持久化上下文 一級快取 實體有不同的狀態 新建 託管 游離 移除狀 態 注意 a 如果spring沒開啟事務,通過findone 查詢到的實體,就會不在託管狀態下 對這個物件屬性的更改,不會同步到資料庫。b 如果spring...
python 物件持久化
print open persondb.dat rb read testdemo2.py 讀取資料庫 載入乙個例項的時候,類極其模組的檔案都必須匯入 該類的例項再次載入的時候,對類的源 檔案的修改會自動選取 import testdemo import shelve db shelve.open p...