查看: 1429|回复: 7

[项目分享] 【智控万物】DF论坛点赞亮灯

[复制链接]
本帖最后由 云天 于 2021-1-29 17:05 编辑

IMG_20210129_142543.jpg

【项目介绍】
本项目,是用来演示“BeautifulSoup”库抓取网页信息的。当有人为我的帖子点赞时,我的小彩灯,就亮起。

在程序运行过程中,发现两个问题:1、程序实现了刷DF论坛帖子的浏览量(我不是故意的,技术员尽快解决吧)2、“PinPong”库使用Oled12864显示中文时出现问题。以上两个问题有待解决。

【Mind+加载库】
Mind+中Python模式下,加载“爬虫”:“requests”和“BeautifulSoup”库。
FriJanuary-202101298510..png

【程序代码】

from bs4 import BeautifulSoup
import re
import requests

import time
from pinpong.board import Board,NeoPixel,Pin
from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C #导入ssd1306库
Board("uno").begin()               #初始化,选择板型(uno、leonardo、xugu)和端口号,不输入端口号则进行自动识别
#Board("uno","COM36").begin()      #windows下指定端口初始化
#Board("uno","/dev/ttyACM0").begin() #linux下指定端口初始化
#Board("uno","/dev/cu.usbmodem14101").begin()   #mac下指定端口初始化

oled=SSD1306_I2C(width=128, height=64) #初始化屏幕,传入屏幕像素点数
NEOPIXEL_PIN = Pin(Pin.D9)
PIXELS_NUM = 7 #灯数

np = NeoPixel(NEOPIXEL_PIN,PIXELS_NUM)
html='https://mc.dfrobot.com.cn/thread-308261-1-1.html'
pl_num=0
while(1):
  res = requests.get(html)
  res.encoding = 'utf-8'
  bs = BeautifulSoup(res.text,"html.parser")
  pl_list=bs.find_all(id=re.compile("postmessage_"))
  pl_len=len(pl_list)
  if pl_len-1>pl_num:#判断是否有新评论
    #print(pl_len)
    for i in range(pl_num+1,pl_len):#"pl_num+1"排除掉作者的帖子内容
     #print(pl_list)
     bs2 = BeautifulSoup(str(pl_list),"html.parser")
     if bs2.td.text.find("赞")!=-1:#查询评论的文字中是否有“赞”字
      print(bs2.td.text)
      temstr=bs2.td.text.strip("\r")#去除结尾处的“\r”,不然OLED显示会出错:eyError:'\r'
      temstr=temstr.strip("\n")     #去除结尾处的“\n”,不然OLED显示会出错:eyError:'\n'
      #因暂时编译有错误,不显示中文,暂时用以下英文“点赞”代替
      oled.text("like it",8,8)
      #oled.text(temstr,0,0) #指定位置显示文字,
      oled.show()  #显示生效
      for j in range(7):#7灯亮红
          np[j]=(255,0,0)
    pl_num=pl_len-1 #个数当中包含一个非评论
    time.sleep(3)   #3秒查看帖子一次
    oled.fill(0) #全部填充熄灭,清屏
    oled.show() #显示生效
    for j in range(7):#7灯熄灭
        np[j]=(0,0,0)

程序中用识别评论中的“”字为代表,评论点赞。可以丰富些,使用一个列表将美言美句,夸奖赞美之词全包括。“有表扬就高兴”亮灯
【问题1】
显示英文没有问题:oled.text("Hello PinPong",8,8)
但显示中文,会出现,显示找不到"fons_msyh.ttf.json"
FriJanuary-202101296575..png
【问题2】几分钟就涨到1000多,呼叫技术员,过一会就上万了。

FriJanuary-202101291742..png
【演示视频】

云天  中级技匠
 楼主|

发表于 2021-1-29 14:15:52

本帖最后由 云天 于 2021-1-29 14:49 编辑

自己说,非常不错!(测试用)
回复

使用道具 举报

云天  中级技匠
 楼主|

发表于 2021-1-29 14:20:08

本帖最后由 云天 于 2021-1-29 14:49 编辑

自己赞一下:赞赞,非常不错!(测试用)
回复

使用道具 举报

云天  中级技匠
 楼主|

发表于 2021-1-29 14:23:26

本帖最后由 云天 于 2021-1-29 14:49 编辑

自己赞一下:赞赞,非常不错!(测试用)
回复

使用道具 举报

KIKI  高级技匠

发表于 2021-1-29 15:04:40

我来试试
回复

使用道具 举报

rzegkly  版主

发表于 2021-1-31 07:14:54

点赞亮灯,一起试试
回复

使用道具 举报

云天  中级技匠
 楼主|

发表于 2021-1-31 08:33:06

rzegkly 发表于 2021-1-31 07:14
点赞亮灯,一起试试

不知技术人员解决,刷浏览量的问题没有?
回复

使用道具 举报

gray6666  初级技神

发表于 2021-2-6 19:02:56

盖楼,赞一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail