Skip to content

Commit 46e22fb

Browse files
committed
新增OMP框架连接数据库,废弃原来直接连接数据库的方法
1 parent f8fffa9 commit 46e22fb

File tree

7 files changed

+72
-28
lines changed

7 files changed

+72
-28
lines changed

Diff for: .idea/dataSources.xml

+19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: README.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@
99
获取了以下信息
1010
公司名称,工资,工作地区,更新时间,人数,学历,经验要求,公司性质,公司福利,公司人数
1111
================================================================================
12-
新增多线程优化程序
12+
新增多线程优化程序(多线程还不熟悉,所以就暂时放着)
13+
新增使用OMP框架连接数据库,废弃原来直连数据库的方法

Diff for: main.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def zlzp():
2222
th2=threading.Thread(target=zlzp)
2323
threads.append(th2)
2424
for t in threads:
25-
t.setDaemon(True)
25+
# t.setDaemon(True)
2626
t.start()
2727
t.join()
2828

Diff for: searchjob.py

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import requests
22
from bs4 import BeautifulSoup
3-
import json
4-
import jsonpath
53
class Serach(object):
64
def __init__(self,page):
75
url="http://s.gxrc.com/sJob?schType=1&workProperty=&keyword=运维&page={num}".format(num=page)

Diff for: sql_ctr.py

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
from pymysql import connect
22
# from hjctool import check_net
33
class Sql_manager(object):
4-
def __init__(self):
4+
def __init__(self,data):
55
# net_code=check_net()
66
# if net_code==1:
77
host = "192.168.15.251"
88
user = "root"
99
pw = "zzq"
1010
# sql_com="select * from ip_mac"
11-
db="ipdata"
11+
db=data
1212
self.sql=connect(host,user,pw,db)
1313
self.cur=self.sql.cursor()
1414
# cur.execute(sql_com)
1515
# table_info=cur.fetchall()
16-
print("连接成功。")
16+
# print("连接成功。")
1717
# elif net_code==0:
18-
print("连接失败,请检查网络")
18+
# print("连接失败,请检查网络")
1919
def omp_sql(self,table_name="account_list"):
2020
#coum_name,value_name 两个变量使用数组或者列表的形式进行填充
2121
# sql_com="use %s"%db_name
@@ -36,11 +36,14 @@ def ins_sql(self,v_device=None,v_ip=None,v_acc=None,v_pass=None,v_note=None): #
3636
self.sql.commit()
3737
self.info_seclect = self.cur.fetchall()
3838
self.cur.close()
39-
def ins_computer_info_sql(self,sys_name=None,cpu_info=None,board_info=None,disk_info=None,mem_info=None,grap_info=None,note=None,upload_time=None):
39+
def ins_info_sql(self,companyname=None,companytype=None,companysize=None,postioname=None,postdescurl=None,workexp=None,
40+
walfare=None,wagemoney=None,worklocation=None,update=None):
41+
#将查询数据写入数据库
4042
# def ins_computer_info_sql(self, sys_name=None, cpu_info=None,): #测试用的方法
41-
sql_com1="insert into computer_info(computer_name,cpu_info,board_info,disk_info,mem_info,grap_card,note,upload_time) VALUES (%s,%s,%s,%s,%s,%s,%s,%s)"
43+
sql_com1="insert into zljobinfo(companyname,companytype,companysize,postioname,postdescurl,workexp,walfare," \
44+
"wagemoney,worklocation,v_update) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
4245
# sql_com1 = "insert into computer_info(computer_name,cpu_info) VALUES (%s,%s)" #测试用的方法
43-
values = (sys_name, cpu_info, board_info, disk_info, mem_info, grap_info, note,upload_time)
46+
values = (companyname,companytype,companysize,postioname,postdescurl,workexp,walfare,wagemoney,worklocation,update)
4447
# values = (sys_name, cpu_info)
4548
# sql_com2="select * from computer_info"
4649
self.sql.commit()

Diff for: sqlomp.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from sqlalchemy import create_engine
2+
from sqlalchemy import Table, MetaData
3+
4+
class SQLOMP(object):
5+
def instosql(self,db,**kwargs):
6+
engine = create_engine("mysql+pymysql://root:zzq@192.168.15.251/{dbname}?charset=utf8".format(dbname=db), encoding='utf-8', echo=True)
7+
metadata = MetaData(engine)
8+
con_table=Table('zljobinfo',metadata,autoload=True)
9+
ins = con_table.insert()
10+
conn=engine.connect()
11+
# result=conn.execute(ins,[{"companyname":"test1",
12+
# "companytype":"test2",
13+
# "companysize":"test3",
14+
# "postioname":"test4"}])
15+
conn.execute(ins,kwargs)

Diff for: zlzp_search.py

+25-17
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
import threading
2+
import time
3+
import sqlomp
14
import requests
25
import json
36
import jsonpath
4-
import threading
5-
import time
67
class ZLZPSearch(object):
78
def __init__(self):
89
zlurl="https://fe-api.zhaopin.com/c/i/sou?pageSize=90&cityId=785&workExperience=-1&education=-1&" \
@@ -13,24 +14,31 @@ def getinfo(self):
1314
self.html_zl.encoding='utf8'
1415
htmltext_zlzp=self.html_zl.text
1516
zlzp_json=json.loads(htmltext_zlzp)
16-
companyname=jsonpath.jsonpath(zlzp_json,"$..company[name]")
17-
companytype=jsonpath.jsonpath(zlzp_json,"$..company[type][name]")
18-
companysize=jsonpath.jsonpath(zlzp_json,"$..company[size][name]")
19-
jobname=jsonpath.jsonpath(zlzp_json,"$..jobName")
20-
postdescurl=jsonpath.jsonpath(zlzp_json,"$..positionURL")
21-
jobcity=jsonpath.jsonpath(zlzp_json,"$..city[display]")
22-
update=jsonpath.jsonpath(zlzp_json,"$..updateDate")
23-
salary=jsonpath.jsonpath(zlzp_json,"$..salary")
24-
welfare=jsonpath.jsonpath(zlzp_json,"$..welfare")
25-
workexp=jsonpath.jsonpath(zlzp_json,"$..workingExp[name]")
17+
companyname=jsonpath.jsonpath(zlzp_json,"$..company[name]") #公司名称
18+
companytype=jsonpath.jsonpath(zlzp_json,"$..company[type][name]") #公司性质
19+
companysize=jsonpath.jsonpath(zlzp_json,"$..company[size][name]") #公司规模
20+
jobname=jsonpath.jsonpath(zlzp_json,"$..jobName") #岗位名称
21+
postdescurl=jsonpath.jsonpath(zlzp_json,"$..positionURL") #岗位url
22+
jobcity=jsonpath.jsonpath(zlzp_json,"$..city[display]") #工作所在地
23+
update=jsonpath.jsonpath(zlzp_json,"$..updateDate") #发布时间
24+
salary=jsonpath.jsonpath(zlzp_json,"$..salary") #工资
25+
welfare=jsonpath.jsonpath(zlzp_json,"$..welfare") #公司福利
26+
workexp=jsonpath.jsonpath(zlzp_json,"$..workingExp[name]") #工作年限要求
27+
sql=sqlomp.SQLOMP()
28+
insdata={"companyname":companyname[0],"companytype":companytype[0],
29+
"companysize":companysize[0],"postioname":jobname[0],
30+
"postdescurl":postdescurl[0],"workexp":workexp[0],
31+
"worklocation":jobcity[0],"wagemoney":salary[0],
32+
}
33+
sql.instosql("zlzpdb",**insdata)
2634
print("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n"%(companyname,companytype,companysize,jobname,postdescurl,jobcity,update,salary,welfare,workexp))
2735

28-
# t1=time.time()
29-
# a =TEXT()
30-
# # a.getinfo()
36+
t1=time.time()
37+
a =ZLZPSearch()
38+
a.getinfo()
3139
# t=threading.Thread(target=a.getinfo)
3240
# t.start()
3341
# print(threading.activeCount())
34-
# t2=time.time()
35-
# print(t2-t1)
42+
t2=time.time()
43+
print(t2-t1)
3644

0 commit comments

Comments
 (0)