You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.8 KiB

from flask import Flask
from flask import url_for
from markupsafe import escape
from flask import Flask, render_template,request
from pypinyin import pinyin,Style
import crawler
import pymysql
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/test')
def test():
print('hello')
@app.route('/result')
def send():
return render_template('send.html')
@app.route('/result',methods=['POST'])
def result():
if request.method == 'POST':
city = request.form['city']
job = request.form['job']
if city and job:
pinyin_list = pinyin(city, style=Style.NORMAL)
city = ''.join([p[0] for p in pinyin_list])
pinyin_list = pinyin(job, style=Style.NORMAL)
job = ''.join([p[0] for p in pinyin_list])
table_name=city+'_'+job
else:
return "城市信息不能为空!"
try:
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', charset="utf8", db="bossdb")
cursor = conn.cursor()
sql = 'SELECT job_name, job_area, salary, job_tag, job_ability, company_name, company_info, welfare, job_des, company_type, address, link FROM '+table_name
cursor.execute(sql)
rows = cursor.fetchall()
return render_template('result.html', rows=rows)
except:
return "你输入的信息有误,请重新输入"
@app.route('/crawl', methods=['GET', 'POST'])
def crawl():
result='a'
if request.method == 'POST':
result=0
city = request.form['city']
job = request.form['job']
pages = int(request.form['pages'])
result=crawler.crawl(city, job, pages)
return render_template('crawl.html', result=result)
# return render_template('crawl.html',result=result)
return render_template('crawl.html',result=result)