??????ж????д???Python???
???????????? ???????[ 2017/6/30 10:16:17 ] ??????????????????? ?????
??????????????????????????????????????????????????????????Python???????????·?????
???????
???????23w?????????????????????????????????????????????
?????????news???????????????????к??е??????????????????????????????????scoreд???????
??????????????????????????????д????????????????????????????????????????????Ч???е??????????????в?????????д??????????
???????ж????д??
???????ж????????N*max_process????????????????ж??????????????????
?????????????????????connection??????cursor???????????????
???????????????????????????????????????????
????????????????????????洴???μ?connection???????????????????????????????????????????????NoneType Error?????
????????д????????????и????????????????????????????????????????е???????max_process-1??????????????д?????????????????????????????????1??2??3...????????????max_process???????
??????????????????????????????conn????????????????д???conn???????????????index?? ??????е?num??max_process???(100->4??101->5)???????????????????????в??????
??????????????
max_process = 16 #???????
def read_SQL_write(r_host??r_port??r_user??r_passwd??r_db??r_charset??w_host??w_port??w_user??w_passwd??w_db??w_charset??cmd??index=None):
#???tem??????????
try:
conn = pymysql.Connect(host=r_host?? port=r_port?? user=r_user?? passwd =r_passwd?? db =r_db?? charset =r_charset)
cursor = conn.cursor()
cursor.execute(cmd)
except Exception as e:
error = "[-][-]%d fail to connect SQL for reading" % index
log_error('error.log'??error)
return
else:
tem = cursor.fetchone()
print('[+][+]%d succeed to connect SQL for reading' % index)
finally:
cursor.close()
conn.close()
try:
conn = pymysql.Connect(host=w_host?? port=w_port?? user=w_user?? passwd =w_passwd?? db =w_db?? charset =w_charset)
cursor = conn.cursor()
cursor.execute(cmd)
except Exception as e:
error = "[-][-]%d fail to connect SQL for writing" % index
log_error('error.log'??error)
return
else:
print('[+][+]%d succeed to connect SQL for writing' % index)
r_dict = dict()
r_dict['id'] = tem[0]
r_dict['content_id'] = tem[1]
r_dict['pub_date'] = tem[2]
r_dict['title'] = cht_to_chs(tem[3])
r_dict['title_score'] =tem[4]![](http://images2015.cnblogs.com/blog/1172464/201706/1172464-20170609000900309-1810357590.png)
r_dict['news_content'] = cht_to_chs(tem[5])
r_dict['content_score'] = tem[6]
for key in stock_dict.keys():
#????????????
if stock_dict[key][1] and ( r_dict['title'].find(stock_dict[key][1])!=-1 or r_dict['news_content'].find(stock_dict[key][1])!=-1 ):
w_dict=dict()
w_dict['code'] = key
w_dict['english_name'] = stock_dict[key][0]
w_dict['cn_name'] = stock_dict[key][1]
#???????
if r_dict['title_score']:
w_dict['score']=r_dict['title_score']
else:
w_dict['score']=r_dict['content_score']
#???д??
try:
global max_process
cmd = "INSERT INTO dyx_stock_score%d VALUES ('%s'?? '%s' ?? %d ?? '%s' ?? '%s' ?? %.2f );" %
(index%max_process ??r_dict['content_id'] ??r_dict['pub_date'] ??w_dict['code'] ??w_dict['english_name'] ??w_dict['cn_name'] ??w_dict['score'])
cursor.execute(cmd)
conn.commit()
except Exception as e:
error = " [-]%d fail to write to SQL" % index
cursor.rollback()
log_error('error.log'??error)
else:
print(" [+]%d succeed to write to SQL" % index)
cursor.close()
conn.close()
def main():
num = 238143#????????????????
p = None
for index in range(1??num+1):
if index%max_process==1:
if p:
p.close()
p.join()
p = multiprocessing.Pool(max_process)
r_cmd = ('select id??content_id??pub_date??title??title_score??news_content??content_score from dyx_emotion_analysis where id = %d;' % (index))
p.apply_async(func = read_SQL_write??args=(r_host??r_port??r_user??r_passwd??r_db??r_charset??w_host??w_port??w_user??w_passwd??w_db??w_charset??r_cmd??index??))
if p:
p.close()
p.join()
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11