深夜美食与微信公众号开发
兄弟,今天一起吃什么呀,吃什么,对于一个选择困难症的小伙伴来说简直就是太痛苦了,那么现在干脆就交给「老天爷」来决定的吧!
夜深了,是时候将这篇文章发出来了,今天小编将为你介绍如何将图片保存到本地,以及可以用爬取的数据实现微信公众号开发之今天吃什么!
本次的爬虫代码,我使用的是 Python 3.6 版本。其中的一些库的使用,需要你们先自行把这些库安装好。这些库的安装网上有很多教程,我就不在这里讲述。编程学习很重要的一点,是懂得自己上网查找相应的教程。
爬取目标:
本次爬的网站 美食杰 :http://www.meishij.net/
主要是看中了网站里有各种地区菜系的美食排行榜,而且为大家带来的是湖南的湘菜:
本来想试试看美团、饿了么之类的,结果饶了一圈也没找到相对应的排行榜单界面,在我的印象中是有这一类的网页的啊?
成果展示:
大家知道我本身就开发过公众号,所以就顺便给公众号加点新功能,发送「今天吃什么」,一定要准确哟,不然就是看电影的链接了,效果大概是这样的,吃什么美食是随机:
代码相关:
由于这个网站比较简单,没有什么反爬虫的措施,所以写起来也十分简单,
这是向网址发出请求:
用到了正则表达式,将我箭头上标记的,与正则表达式结合加一起看,就很容易明白了,爬取的内容是:美食名字,做法链接,图片:
图片下载:
在美食排行榜爬虫当中,我们有一项目标是:「下载美食图片到本地上」,有人肯定就觉得很难实现,因为图片又不是字符,如何以文本的形式爬下来呢? 其实,这里有一个误区,在计算机的世界里,一切的数据归根到底都是以“0”和“1”的二进制形式存在的。图片自然也不例外,任何一张图片,都是以“字节流 ”的形式,通过了一定的编码方式,被计算机排列组合,从而显示成我们肉眼所看到的图片。那么我们只要把图片数据从网上下载下来,然后再以二进制的格式写入到本地就可以啦。
给出一个图片下载的通用代码片段:
import requests def get_pic_from_url(url): #从url以二进制的格式下载图片数据 pic_content = requests.get(url,stream=True).content open('filename','wb').write(pic_content)
是不是很简单呢? 当然,你们也可以在这个基础上进行添加和完善,这是我的将图片保存到本地的代码:
微信公众号后台代码:
这只是一部分的代码,产生一个随机数匹配数据库对应的美食回复,具体的函数不明白,请先百度,还是不懂的话就私聊我!
这是一部分的成果展示,不要深夜流口水哟!
完整代码我已上传到 Github 上,每行代码我都有详细的注释。点击「阅读原文」就可以跳转到项目页面。
PS: 1、今天在调试微信公众号后台的代码时,因为看错了一个字符结果调 Bug 将近花了半个小时,所以导致了超过 12 点才发文了,非常抱歉!
2、功能不是在这个公众号的哟,因为本公众号之前的一些自动回复设置,如果接口服务器的话又要重新改,比较麻烦,所以如果想看功能效果的话,麻烦大家要关注下「电影来了呀」!
如果觉得文章还不错的话,还请大家点赞分享下。算是对「fightjiang」最大的支持!
每 天 分 享 Python 干 货
深夜美食与微信公众号开发相关推荐
- 微信公众号开发本地环境开发_如何在5分钟内使HTTPS在本地开发环境上工作
微信公众号开发本地环境开发 Almost any website you visit today is protected by HTTPS. If yours isn't yet, it shoul ...
- 微信公众号开发用书php,php微信公众号开发(3)php实现简单微信文本通讯
<PHP实战:PHP微信公众号开发(3)PHP实现简单微信文本通讯>要点: 本文介绍了PHP实战:PHP微信公众号开发(3)PHP实现简单微信文本通讯,希望对您有用.如果有疑问,可以联系我 ...
- 【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
步骤一:首先得开通公众号(目的是 获得appid.AppSecret.设置安全域名)~ [公众号设置]→[功能设置] 设置相应的域名 步骤二:编写帮助类WeixinLuyinHelper中的代码 #r ...
- 微信公众号开发Django-网页授权
原文链接 对于基础的微信公众号开发,网页授权,JSSDK,图片处理应该是最重要的三部分了 根本上也是按照文档开发,技术含量并不高. (选Django=很多权限控制模块已经做好了,比较省力) 在开始之前 ...
- 慕课网_《Java微信公众号开发进阶》学习总结
时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...
- 微信公众号开发之准备工作
这是微信公众号开发的第一步.是网页授权的那章的前提. 工作室有关一个订餐系统的开发,我对公众号开发比较感兴趣,所以参与这方面的学习. 本章主要讲述两个方面的内容,一是工具的准备,二是环境的配置. -- ...
- java微信公众号开发token验证失败的问题及解决办法
java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...
- 微信公众号开发小记(二)--服务器验证
这篇是微信公众号开发小记的第二篇,承接上一篇,此次将完成如下主要功能 对接微信服务器和自己的服务器 需要的"材料" 到这里需要梳理一下都需要什么东西,以便在整个编码的过程中方便我们 ...
- 微信公众号开发小记——4.两种邀请用户的方式 扫码链接
描述 假设的我们的服务号有这么一些功能,比如底部有按钮,点击会有一些复杂的功能,这时候可能就需要一个用户系统,有用户系统就经常想要做什么分享邀请新用户之类的,这时候就又有几种方式,1.直接一个连接,让 ...
最新文章
- 深度 | 解决真实世界问题:如何在不平衡类上使用机器学习?
- java中web service的几种实现方式(自用)
- SpringCloud_Zuul
- LeetCode 1238. 循环码排列(格雷编码+旋转数组)
- 逻辑性不好可以学python吗_如果本文若未能让你学会“Python”,可能真的不适合学习Python...
- html列目录带图片,根据目录下的图片的个数,往html文件填充对应数量的img标签,请问有没有实现这种需求的工具?...
- SpringCloud-服务的消费者(rest+ribbon)
- ezd格式文件怎么打开_EPLAN Electric P8 中的 EDZ 文件格式
- Docker玩转Rhadoop
- Win10企业版本激活方法
- 计算机页码格式罗马数字,word 页码 罗马数字怎么从1开始
- 四六级对计算机考研有影响吗,“考研”没过四六级,对考研有影响吗?
- 安装SQL2000,出现以前的某个程序安装已在安装计算机上创建挂起的文件操作(完美解决)
- 使用阿里云的身份证实名认证接口
- if控制条件——BMI
- JavaScript——Symbol类型
- 如何设置路由器并利用路由器+宽带猫实现单机或是多机共享自动拨号上网
- 炒股巴士股票入门基础知识|破发来自牛市的估值在熊市上卖
- 中国橱柜行业品牌营销策略与竞争态势研究报告2022版
- 丰泽就业老师告知90后求职面试应具备的5种心态_河南丰泽教育JAVA/3G学院