提交中秋节主题征文比赛:

今年的中秋又要到啦,诚邀亲爱的博主参与投稿,分享“程序员”视角下的中秋夜之美!

内容可以是:

  • 程序员过中秋的正确方式:团圆、赏月、还是惨兮兮地加班?
  • 互联网大厂的中秋仪式感:壕无人性!
  • 炫出我的中秋节礼盒:红包、奖金、还是空气月饼?
  • 我的中秋节祝福程序源代码分享:过什么节,代码走起!
  • 如何用代码制作水墨风格的中秋佳节网页?
  • 如何用代码绘制月饼?
  • 用代码分析月饼节的那些事儿:什么月饼口味卖的最好?
  • 打造我的专属中秋节小程序:我的浪漫不是梦~~
  • ······

主题不限哦,仅供参考 ~~你有什么想要分享的呢,快开启你的创作吧!

程序员过中秋节的正确方式,不是吃月饼,而是写程序给人推荐吃那种月饼馅,那么推荐那种馅呢?

我们用selenuim库爬取百度上各个月饼馅提到的次数也就是结果数,进行排序,用wordcloud制作词云html在用selenuim打开。

我们如果用request求,会被百度安全认证拦住,所以我们用selenium中的webdriver打开。网址怎么写哪?由于浏览器中的中文是用"%20"这种方法表示的,如何用这种方法表示文本呢?urllib.parse中的quote就可以做到这一点。爬取到了网站,如何找到结果数呢?我们不需要复杂的find_element语句,只需要用index查找结果数串的起始位和结束位就可以了。

话不多说,我们直接上代码:

#!usr/bin/python
# -- coding: utf-8 --
from selenium import webdriver
import urllib.parse as parse
import pyecharts.options as opts  # as别名
from pyecharts.charts import WordCloudheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.27"
}def num(key):"""计算月饼馅百度中的结果数(流量):param key: 月饼馅名称:return: 结果数"""opt = webdriver.EdgeOptions()# 构建配置信息--通过浏览器选项对象调用配置方法opt.headless = True  # 设置浏览器为无头模式# 将配置信息加入到浏览器启动--实例化浏览器驱动对象添加属性option值drive = webdriver.Chrome(options=opt)  # 创建webdriver对象item = parse.quote('月饼馅 '+key, encoding='UTF-8')  # 浏览器将文本转换成的值drive.get(f"https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd={item}&fenlei=256&oq=selenium&rsv_pq=89577ef500004d0f&rsv_t=0336xYCmrRhmQnBqFs1sMgCPQn9ybdr50Jvo%2FfarMO%2BNbf3wHJYACPFoe64&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_btype=t&inputT=23393&rsv_sug3=46&rsv_sug1=54&rsv_sug7=100&rsv_sug2=0&rsv_sug4=23778")  # 百度搜索i = drive.page_source.index("百度为您找到相关结果约")  # 起始位置i2 = drive.page_source.index("0个")  # 结束位置return drive.page_source[i + 11:i2].replace(",", "")  # 返回结果数cakes = ['芝麻', '草莓', '黑麻', '椰丝', '抹茶', '板栗', '枣泥', '莲蓉', '核桃仁', '蛋黄', '椒盐', '椰奶', '豆沙', '黑芝麻', '白果', '细沙', '五仁', '蔓越莓', '莲', '乳酪莲蓉', '西梅', '柚子', '哈密瓜', '椰子', '杏仁', '玫瑰', '白莲', '云腿月饼', '梅干菜', '莲藕', '山楂', '水果', '绿茶', '苔菜', '冰皮', '鲜肉', '瓜子', '流心奶黄', '百果', '冬蓉', '肉松', '栗蓉', '叉烧', '苏式月饼', '碳烧咖啡', '火腿', '冰糖', '凤梨', '哈密杏', '椒盐蛋黄']  # 月饼馅名称
data = []
for c in cakes:try:data.append([c, num(c)])except ValueError:pass(WordCloud().add(series_name="月饼馅排行(提出次数排行)", data_pair=data, word_size_range=[6, 66]).set_global_opts(title_opts=opts.TitleOpts(title="月饼馅排行", title_textstyle_opts=opts.TextStyleOpts(font_size=23)),tooltip_opts=opts.TooltipOpts(is_show=True),).render("wordcloud.html")
)  # 创建wordcloud对象
driver = webdriver.Chrome()
driver.get("file:///C://Users//LENOVO//Desktop//wordcloud.html")  # 打开wordcloud(词云)html。

运行结果:

这篇文章到此结束了,根据查找,我们发现月饼馅排名前三名是山楂、蛋黄和水果。

如果您觉得这篇文章写的好,请点赞收藏,蟹蟹大家!

爬取那种月饼最受欢迎,生成词云一目了然相关推荐

  1. 爬取qq音乐的评论并生成词云——以《听妈妈的话》为例

    爬取qq音乐的评论并生成词云 我们选取的是歌曲的周杰伦的 听妈妈的话 先看效果图 首先,我们进去qq音乐找到这首歌 网易云出来挨打 https://y.qq.com/n/yqq/song/002hXD ...

  2. python爬取QQ空间好友说说并生成词云

    最近自己玩爬虫玩得很嗨.想到爬QQ空间主要是因为在看网课的时候有不少人刷弹幕要去爬前女友空间..咳咳,虽然我没有前女友,但是这不失为一个有趣的练手机会.(爬完之后发现不会留下访客记录!确实很适合爬前女 ...

  3. python爬取陌生人的qq空间_Python爬取QQ空间好友说说并生成词云(超详细)

    前言 先看效果图: 思路 1.确认访问的URL 2.模拟登录你的QQ号 3.判断好友空间是否加了权限,切换到说说的frame,爬取当前页面数据,下拉滚动条,翻页继续获取 爬取的内容写入本地TXT文件中 ...

  4. 网络爬虫爬取b站励志弹幕并生成词云(精心笔记总结)

    bilibili献给新一代的演讲<后浪> 前言 在进入本文之前,我很想给大家推荐b站这个视频,3080.2万播放,27.9万条弹幕.这个视频之火不是因为漂亮的小姐姐,也不是什么很傻,很逗人 ...

  5. 网络爬虫爬取b站励志弹幕并生成词云(精心笔记总结)!

    bilibili献给新一代的演讲<后浪> 此文转载文,著作权归作者所有,如有侵权联系小编删除! 前言 在进入本文之前,我很想给大家推荐b站这个视频,3080.2万播放,27.9万条弹幕.这 ...

  6. 爬取寻梦环游记的评论生成词云

    本文从豆瓣电影中爬取寻梦环游记的评论作为生成词云的文本数据,废话不多说,走起. 准备数据 由于豆瓣的爬虫监测是比较严格的,一旦发现爬虫就会被BAN,但是我们可以通过预先登陆获取Cookies结合sle ...

  7. 1] python 爬取微信好友个性签名,生成词云

    在Anaconda下完成,参考https://blog.csdn.net/zhonglixianyun/article/details/78229782 结果图: 1. 需要的库 numpy, os, ...

  8. python爬取网页版QQ空间,生成词云图、柱状图、折线图(附源码)

    python爬取网页版QQ空间,生成词云图.柱状图.折线图 最近python课程学完了,琢磨着用python点什么东西,经过一番搜索,盯上了QQ空间,拿走不谢,欢迎点赞收藏,记得github给个sta ...

  9. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

最新文章

  1. SQL性能优化之索引优化法
  2. altium 去掉部分铺铜_干货|HFSS器件导入Altium进行PCB制作教程!!!
  3. RibbonControl中的主题设计
  4. xsl调用java方法传参_Java中的XSL转换:一种简单的方法
  5. java xml 序列化_java-序列化为XML时忽略父类
  6. 第四周作业二_单元测试
  7. html中src为空,怎么解决img里面src为空状态下的边框问题
  8. 软件项目管理第4版课后习题[附解析]第七章
  9. 荣耀路由器w831刷linux,华为荣耀路由器登录入口:荣耀路由器WS831设置指南【图解】...
  10. Hermite(埃尔米特)插值法
  11. c++EasyX极乐净土的实现及音乐头文件的使用
  12. linux b类地址设24位掩码,CIDR,子网掩码以及划分子网超网
  13. 传奇泡点地图制作脚本
  14. 能ping通IP地址,ping不通主机名问题解决
  15. CS5266中文规格书|Capstone CS5266中文设计资料|TYPEC转HDMI带PD3.0+USB3.1拓展坞转换方案资料
  16. 为何韩国人日本人要努力工作原因的歪解?
  17. java 日期转换视频_自定义转换器实现日期转换_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...
  18. 基于python的文字识别系统,python神经网络识别图片
  19. php 批量改文件名后缀名_PHP如何批量修改文件的后缀名
  20. 2020 论文研究数据之 - 百度指数采集工具

热门文章

  1. 使用 use_frameworks! 后项目YYCache库报错 Duplicate interface
  2. 获取下一个工作日/休息日的方法 本地基础搭建 Springboot 法定节假日/休息日/调休日 均可 不用调三方
  3. 综合设计一个OPPE主页--页面的底部
  4. (二)Java算法:插值查找
  5. LBS游戏火拼三要素:位置、情感、3D渲染
  6. eletree append方法添加子节点
  7. 80端口和443端口被占用后的直接解决办法
  8. Thinkphp修改密码的实现
  9. 离子交换技术除氟在氟化工行业的应用
  10. 你必须掌握的创新思维方法!