兄弟,今天一起吃什么呀,吃什么,对于一个选择困难症的小伙伴来说简直就是太痛苦了,那么现在干脆就交给「老天爷」来决定的吧!

夜深了,是时候将这篇文章发出来了,今天小编将为你介绍如何将图片保存到本地,以及可以用爬取的数据实现微信公众号开发之今天吃什么!

本次的爬虫代码,我使用的是 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 干 货

      

深夜美食与微信公众号开发相关推荐

  1. 微信公众号开发本地环境开发_如何在5分钟内使HTTPS在本地开发环境上工作

    微信公众号开发本地环境开发 Almost any website you visit today is protected by HTTPS. If yours isn't yet, it shoul ...

  2. 微信公众号开发用书php,php微信公众号开发(3)php实现简单微信文本通讯

    <PHP实战:PHP微信公众号开发(3)PHP实现简单微信文本通讯>要点: 本文介绍了PHP实战:PHP微信公众号开发(3)PHP实现简单微信文本通讯,希望对您有用.如果有疑问,可以联系我 ...

  3. 【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...

    步骤一:首先得开通公众号(目的是 获得appid.AppSecret.设置安全域名)~ [公众号设置]→[功能设置] 设置相应的域名 步骤二:编写帮助类WeixinLuyinHelper中的代码 #r ...

  4. 微信公众号开发Django-网页授权

    原文链接 对于基础的微信公众号开发,网页授权,JSSDK,图片处理应该是最重要的三部分了 根本上也是按照文档开发,技术含量并不高. (选Django=很多权限控制模块已经做好了,比较省力) 在开始之前 ...

  5. 慕课网_《Java微信公众号开发进阶》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...

  6. 微信公众号开发之准备工作

    这是微信公众号开发的第一步.是网页授权的那章的前提. 工作室有关一个订餐系统的开发,我对公众号开发比较感兴趣,所以参与这方面的学习. 本章主要讲述两个方面的内容,一是工具的准备,二是环境的配置. -- ...

  7. java微信公众号开发token验证失败的问题及解决办法

    java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...

  8. 微信公众号开发小记(二)--服务器验证

    这篇是微信公众号开发小记的第二篇,承接上一篇,此次将完成如下主要功能 对接微信服务器和自己的服务器 需要的"材料" 到这里需要梳理一下都需要什么东西,以便在整个编码的过程中方便我们 ...

  9. 微信公众号开发小记——4.两种邀请用户的方式 扫码链接

    描述 假设的我们的服务号有这么一些功能,比如底部有按钮,点击会有一些复杂的功能,这时候可能就需要一个用户系统,有用户系统就经常想要做什么分享邀请新用户之类的,这时候就又有几种方式,1.直接一个连接,让 ...

最新文章

  1. 深度 | 解决真实世界问题:如何在不平衡类上使用机器学习?
  2. java中web service的几种实现方式(自用)
  3. SpringCloud_Zuul
  4. LeetCode 1238. 循环码排列(格雷编码+旋转数组)
  5. 逻辑性不好可以学python吗_如果本文若未能让你学会“Python”,可能真的不适合学习Python...
  6. html列目录带图片,根据目录下的图片的个数,往html文件填充对应数量的img标签,请问有没有实现这种需求的工具?...
  7. SpringCloud-服务的消费者(rest+ribbon)
  8. ezd格式文件怎么打开_EPLAN Electric P8 中的 EDZ 文件格式
  9. Docker玩转Rhadoop
  10. Win10企业版本激活方法
  11. 计算机页码格式罗马数字,word 页码 罗马数字怎么从1开始
  12. 四六级对计算机考研有影响吗,“考研”没过四六级,对考研有影响吗?
  13. 安装SQL2000,出现以前的某个程序安装已在安装计算机上创建挂起的文件操作(完美解决)
  14. 使用阿里云的身份证实名认证接口
  15. if控制条件——BMI
  16. JavaScript——Symbol类型
  17. 如何设置路由器并利用路由器+宽带猫实现单机或是多机共享自动拨号上网
  18. 炒股巴士股票入门基础知识|破发来自牛市的估值在熊市上卖
  19. 中国橱柜行业品牌营销策略与竞争态势研究报告2022版
  20. 丰泽就业老师告知90后求职面试应具备的5种心态_河南丰泽教育JAVA/3G学院

热门文章

  1. 如何在家自学前端后端基础?路线是什么?前端程序员到底干什么?学了C语言然后呢?到底是选前端还是后端?
  2. android四个板块界面,手机界面设计的分类及内容 手机界面恢复原状的方法
  3. 秦九昭算法——MATLAB实现
  4. 人才招聘新趋势:垂直性的社交网络——pongo网(庞果网)CEO李炯明专访
  5. 【C++ 】重载和重写
  6. 三维注册:一:AR中三维注册
  7. beetlSql删除语句
  8. BS1060-基于BS架构+mysql数据库实现在线法律法规查阅系统
  9. 项目组日常开发可以做的事
  10. eWebeditor在线编辑器漏洞利用