基于flask+echarts的b站爬虫程序

总体参考
https://blog.csdn.net/u013055678/article/details/74898051?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

1.flask

1.flask向前端传值

jinja引擎在任何地方都可以使用模板,比如

@route('/')
def index():
  return render_template("index.html", name=name)
var a = '{{ name }}'

2.flask像前端传值时json转换

比如传递list,如果不直接转换,list[0]就会显示[,并且所有的逗号都会占位
所以使用json.dumps()进行转换
另外数据的传输最好使用ajax请求

3.flask连接mysql

原文链接:https://blog.csdn.net/BankxiY/article/details/101023383
使用pymysql库

def func(sql,m='r'):
    conn = pymysql.connect (host='127.0.0.1', port=3306, user='root', password='123456', db='networkproject', charset='utf8')
    # 得到一个可以执行SQL语句的光标对象
    cursor = conn.cursor()  # 执行完毕返回的结果集默认以元组显示
    try:
        cursor.execute (sql)
        if m == 'r':
            data = cursor.fetchall ()
        elif m == 'w':
            py.commit ()
            data = cursor.rowcount
    except:
        data = False
        py.rollback ()
    cursor.close()
    conn.close ()
    return data
# 首页,将mysql中表的值读出并传到网页----查
@app.route ('/')
def index():
    data = func ('select * from stu')
    return render_template ('sqldata.html',userlist=data)

2.echarts

3.BUG

1.No 'Access-Control-Allow-Origin' header is present on the requested resource'

def Response_headers(content):
    resp = Response(content)
    resp.headers['Access-Control-Allow-Origin'] = '*'
    return resp

@app.route('/echarts')
def echarts():
    datas = {
        "data":[
            {"name":"allpe","num":100},
            {"name":"peach","num":123},
            {"name":"Pear","num":234},
            {"name":"avocado","num":20},
            {"name":"cantaloupe","num":1},
            {"name":"Banana","num":77},
            {"name":"Grape","num":43},
            {"name":"apricot","num":0}
        ]
    }
    content = json.dumps(datas)
    resp = Response_headers(content)
    return resp

2.Max retries exceeded with url

应该是开的网页太多了

3.Nonetype' object is not iterable

https://www.cnblogs.com/classics/p/11165596.html
1.nonetype错误一般都是因为获取的数据是空,也就是数据的爬取过程出现了错误
2.或者编码出现了问题导致正则匹配为空

你可能感兴趣的:(基于flask+echarts的b站爬虫程序)