@@ -308,6 +308,8 @@ def update(self, table_name, update_field, condition=None):
308308 print sql
309309 cursor = self .conn .cursor ()
310310 cursor .execute (sql )
311+ self .conn .commit ()
312+ print '更新行数:%s' % cursor .rowcount
311313 cursor .close ()
312314 return True
313315 except Exception , e :
@@ -333,20 +335,76 @@ def delete(self, table_name, condition=None):
333335 else :
334336 sql_condition = ''
335337 # 拼接sql语句
336- sql = 'delete %s %s' % (table_name , sql_condition )
338+ sql = 'delete from %s %s' % (table_name , sql_condition )
337339 print sql
338340 cursor = self .conn .cursor ()
339341 cursor .execute (sql )
342+ self .conn .commit ()
343+ print '删除行数:%s' % cursor .rowcount
340344 cursor .close ()
345+ print '删除成功'
346+ return True
347+ except Exception , e :
348+ print e
349+
350+ def query_by_sql (self , sql = None ):
351+ """
352+ 根据sql语句查询
353+ :return:
354+ """
355+ if self .is_conn_open () is False :
356+ print '连接已断开'
357+ return None
358+ if sql is None :
359+ print 'sql语句不能为空'
360+ return None
361+ # 安全性校验
362+ sql = sql .lower ()
363+ if not sql .startswith ('select' ):
364+ print '未授权的操作'
365+ return None
366+ try :
367+ cursor = self .conn .cursor ()
368+ cursor .execute (sql )
369+ rows = cursor .fetchall ()
370+ cursor .close ()
371+ # print rows
372+ return rows
373+ except Exception , e :
374+ print e
375+
376+ def update_by_sql (self , sql = None ):
377+ """
378+ 根据sql语句[增删改]
379+ :return:
380+ """
381+ if self .is_conn_open () is False :
382+ print '连接已断开'
383+ return False
384+ if sql is None :
385+ print 'sql语句不能为空'
386+ return False
387+ # 安全性校验
388+ sql = sql .lower ()
389+ if not (sql .startswith ('update' ) or sql .startswith ('insert' ) or sql .startswith ('delete' )):
390+ print '未授权的操作'
391+ return False
392+ try :
393+ print sql
394+ cursor = self .conn .cursor ()
395+ cursor .execute (sql )
396+ self .conn .commit ()
397+ print '影响行数:%s' % cursor .rowcount
398+ cursor .close ()
399+ print '执行成功'
341400 return True
342401 except Exception , e :
343402 print e
344403
345404
346405def test_51job ():
347406 """
348- 测试Mysql类
349- :return:
407+ 测试51job
350408 """
351409 # 实例化wl_crawl库的连接
352410 wl_crawl = Postgres (db_config_current , 'wl_crawl' )
@@ -364,8 +422,12 @@ def test_51job():
364422
365423
366424def test_china_hr ():
425+ """
426+ 测试china_hr
427+ """
367428 # 实例化wl_crawl库的连接
368429 wl_crawl = Postgres (db_config_current , 'wl_crawl' )
430+
369431 # 查询总数
370432 count = wl_crawl .get_count ('origin_position' , ['source_type=6' ])
371433 print 'china_hr职位 原始总记录数:%s\n ' % count
@@ -375,13 +437,33 @@ def test_china_hr():
375437 print 'china_hr职位 清洗总记录数:%s\n ' % count
376438 count = wl_crawl .get_count ('online_company' , ['source_type=6' ])
377439 print 'china_hr公司 清洗总记录数:%s\n ' % count
378- # 关闭数据库连接
379- # wl_crawl.close_conn()
440+
380441 # 查询单条记录
381442 # wl_crawl.output_row('origin_company', ['source_type=6'])
382443 # wl_crawl.output_row('origin_position', ['source_type=6', 'id=157789'])
383444 # wl_crawl.output_row('online_position', ['source_type=6', 'id=157789'])
384- wl_crawl .output_rows ('online_position' , ['source_type=2' ])
445+ # wl_crawl.output_rows('origin_position', ['source_type=6', 'clean_flag=0'])
446+ # wl_crawl.output_rows('online_position', ['source_type=6'])
447+ # wl_crawl.output_rows('origin_company', ['source_type=6'])
448+ # wl_crawl.output_rows('online_company', ['source_type=6', 'id=134064'])
449+ # wl_crawl.output_rows('online_company', ['source_type=6'])
450+
451+ # 还原清洗状态
452+ if 0 :
453+ wl_crawl .delete ('online_position' , ['source_type=6' ])
454+ wl_crawl .update ('origin_position' , ['clean_flag=0' ], ['source_type=6' , 'clean_flag>0' ])
455+ wl_crawl .delete ('online_company' , ['source_type=6' ])
456+ wl_crawl .update ('origin_company' , ['clean_flag=0' ], ['source_type=6' , 'clean_flag>0' ])
457+
458+ # 还原数据导出状态
459+ if 0 :
460+ wl_crawl .update ('online_position' , ['export_flag=0' ])
461+ # 检查字段分类集合
462+ if 0 :
463+ sql = 'select distinct(salary_from) from origin_position where source_type=6'
464+ result = wl_crawl .query_by_sql (sql )
465+ print json .dumps (result , indent = 4 , ensure_ascii = False )
466+
385467 # 关闭数据库连接(测试再次关闭)
386468 wl_crawl .close_conn ()
387469
0 commit comments