vlambda博客
学习文章列表

把知乎上关于美腿的问题爬了一遍,然后用flask做可视化

关于怎么爬美腿的问题,这里不展开。我把关于美腿/身材等某个回答数量多的问题,进行了答案文本的爬虫,然后在对每一个答案进行正则,最后得出的csv文本是这样:


3486条数据,但是有重复数据,因此需要选取全部偶数的图片或者奇数的图片。

实现的思路

Flask进行展示,然后用瀑布流插件,关于瀑布流插件,真是让我找了好几天,费尽心思才终于找到一个我会用的,真是蛋疼。先看看成型效果:


只截图一部分,只要鼠标下滑,就能不断加载。后端的代码,有部分是这样,pic,df等变量是views.py文件的全局变量,方便getimages方法读取。getimages方法是被前端的ajax调用,每次返回20张图,x这里是计算出图片列表长度,比如列表长度是3888,那么最大的20倍数,可能在3880?防止超过索引的(这里没有进行严格验证)。

df = pd.read_csv('丝袜图地址.csv')data = df['img'].tolist()pic = []for i in range(0, len(data), 2): pic.append(data[i])

@waterfall_bp.route('/images', methods=["GET"])def get_images(): offset = request.args.get('index', 0, type=int) per_page = 20 if offset % 20 != 0: return jsonify({'data': 'error'}) x = len(pic) / 20 * 20 if offset == x: return jsonify({'data': data[offset:]}) res = pic[offset:per_page+offset] return jsonify({'data' : res})


更多的详细代码,可以回复:黑丝,获取flask可视化的demo。