爬蟲執行緒
pip install scrapyd
安裝依賴(自動生成egg檔案)
pip install scrapyd-client
pip install apscheduler
pip install requests
檢視所有爬蟲
檢視爬蟲狀態
開啟爬蟲
格式舉例:
每次更新後需要重新部署
scrapyd-deploy vehicle_order -p vehicleorderscrapy
我現在用corn來定期執行爬蟲,貼一段半成品**
#coding:utf-8
return #格式化後的字串
def connectdb():
global connect
dbparams = dict(
host = db_config['mysql_host'],
db = db_config['mysql_dbname'],
user = db_config['mysql_user'],
passwd = db_config['mysql_passwd'],
charset = 'utf8',#編碼要加上,否則可能出現中文亂碼問題
)try:
connect = pymysql.connect(**dbparams)
except exception as e:
raise
def closedb():
global connect
connect.close()
def getlatestupdatedate():
global connect
#檢測資料庫連線狀態,如果失聯,自動連線
connect.ping(true)
sql = "select value from %s where name=\'%s\'"%(db_config['mysql_settings_tablename'],'latestupdatedate')
cursor = connect.cursor()
try:
cursor.execute(sql)
result = cursor.fetchone()
if result:
return result[0]
else:
return result
except exception as e:
raise
def updatelatestupdatedate(latestupdatedate):
global connect
#檢測資料庫連線狀態,如果失聯,自動連線
connect.ping(true)
cue = connect.cursor()
try:
sql = "update %s set value = \'%s\' where name=\'%s\'"
params = (db_config['mysql_settings_tablename'],latestupdatedate,'latestupdatedate')
print (sql%params)
cue.execute(sql%params)
except exception as e:
connect.rollback()
raise
else:
connect.commit()
if __name__ == "__main__":
scheduler = backgroundscheduler()
# 每20分鐘執行一次
connectdb()
scheduler.add_job(task, 'cron', day_of_week='tue,thu,sun', hour='23')
scheduler.start()
print('press ctrl+ to exit'.format('break' if os.name == 'nt' else 'c'))
try:
while true:
time.sleep(2)
except (keyboardinterrupt, systemexit):
closedb()
scheduler.shutdown()
scrapyd和scrapyd-client使用教程 部署scrapy爬蟲
pip install scrapyd 1 新建資料夾,用來放之後的專案檔案 在部署的專案資料夾裡開啟乙個服務 cmd管理員執行 spiderd 預設的訪問位址 是 http localhost 6800 如果啟動成功,可以看到jobs裡面的 內容即是要部署上去的scrapy服務,現在還沒部署 2 ...
scrapy爬蟲部署
在開始之前先要吐槽一下csdn,昨晚懷著激動得心情寫下了我人生中的第一篇博文,今天審核通過後發現所有的都不見了,瞬間就不開心了。所以不得不又申請了的賬號,重新開始。前段時間一直研究通用爬蟲,做的過程中也是各種問題,不過好在磕磕絆絆搞出點眉目,中間學到了不少東西,感覺網際網路真的好神奇。但是接下來問題...
scrapy 五 scrapy專案二
在之前的基礎上,新增多個url進行爬取,第一種是將需要爬取的 都列出來,在start urls中 在basic.py中 start urls 第二種是如下寫法 start urls i.strip for i in open todo.urls.txt readlines 水平爬取就是next pa...