运行环境

python3.9.6 +MariaDB(termux官方封装安装顺利)

1. 安装python

#安装python3
pkg install python -y
#查看版本
python -V
#升级pip
python -m pip install --upgrade pip -i
#安装简易爬虫需要的库
pip install pymysql

2. 安装MariaDB并在里面建表

#安装MariaDB
pkg install mariadb
#初始化数据库
mysql_install_db
#启动mysql服务(得到一个进程号(pid号),nohup: ignoring input and appending output to `nohup.out'提示也是正常的)
nohup mysqld &
#进入mysql(whoami为本机的登陆名)
mysql -u ${whoami}
#mysql内修改root密码,我这里习惯设置用户名密码都为root
use mysql;
set password for 'root'@'localhost' = password('root');# 刷新权限
flush privileges;
# 创建数据库
create database bilidb;
use bilidb;
CREATE TABLE `hot` (`id` int(11) NOT NULL AUTO_INCREMENT,`hotword` varchar(200) CHARACTER SET utf8 DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `hotword` (`hotword`)
) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=latin1;
#退出mysql
quit;#需要关闭mysql服务可以掉进程
kill -9 PID(这个pid号启动服务的时候回显示)

3. 运行python程序

#python +文件名 例子:
python bili.py
#bili.py要在当前目录下,安卓11有应用文件的限制,一加手机需要在设置的存储里找文件,在文件程序里面进行复制

我这里有个简单的爬虫

#python程序
#字典
import requests
import json
import pymysql.cursors#加头标识
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'
}product=[]
#获取传回数据
resp=requests.get('https://s.search.bilibili.com/main/hotword?mid=&buvid=98E676EF-F586-403E-8440-52A6836FA68713451infoc&jsonp=jsonp&callback=jsonCallback_bili_58910703464582290',headers=headers)rest=resp.text.replace('jsonCallback_bili_58910703464582290(','').replace(')','')#转换json键值对json_data=json.loads(rest)comments=json_data["list"]
#     #把想要的数据装入列表中
proDict=[]
for item in comments:proDict.append(item['keyword']+' ')
product.extend(proDict)# 把数组里所有数据都转入字符串中(这里是学习用的,可以去除)
p=''.join(proDict)print(p)# 数据入库
# 连接数据库
conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='root',db='bilidb',charset='utf8',cursorclass=pymysql.cursors.Cursor,)cur=conn.cursor()
#这里用replace解决数据入库时重复数据的问题,注意hotword字段要设置唯一约束
for item in proDict:cur.execute("replace into hot(hotword) values('%s')" %(item))
#事务提交(这里尝试性的用了一个异常处理,嘿嘿可以去掉)
try:      conn.commit()
except AttributeError:print("错误")
cur.close()

保存或者直接复制运行,ok运行成功

4、在termux模拟器中加入定时任务,每分钟爬一次入库

#安装crontab
pkg install crontab
#启动服务
crond
#编辑定时任务
crontab -e
#输入定时任务
* * * * * python bili.py >>123.log
星号分别表示 分 时 天 月份 周 可以指定时间运行,若为星号就代表每分或每周或每时...运行,我这里是每分钟运行一次,若要每天则要确定具体时间即 0 8 * * * 这就表示每天8点运行(后面具体复杂操作见https://www.runoob.com/linux/linux-comm-crontab.html)
然后后面就是指令了,***注意的是后面必须要指定一个log文件***,不然它不会运行

最后查询数据库内值,确实在不断加数据

termux 安装mysql 并运行b站爬虫入库 安卓11(手机上跑定时python爬虫)相关推荐

  1. 安装mysql程序运行出错_如何解决mysql安装后.net程序运行出错的问题

    如何解决mysql安装后.net程序运行出错的问题 发布时间:2020-09-28 17:43:58 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下如何解决mysql安装后.net程序运行出 ...

  2. python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...

    原标题:不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方 ...

  3. AidLearning安装Oracle JDK让Java Swing程序在华为MatePadPro平板上跑起来

    AidLearning安装Oracle JDK让Java Swing程序在华为MatePadPro平板上跑起来 cemike@126.com 入手华为MatePadPro平板以后就有把windows台 ...

  4. 用爬虫抓取动态加载数据丨Python爬虫实战系列(6)

    提示:最新Python爬虫资料/代码练习>>戳我直达 前言 抓取动态加载数据 话不多说,开练! 爬虫抓取动态加载数据 确定网站类型 首先要明确网站的类型,即是动态还是静态.检查方法:右键查 ...

  5. 安装mysql对电脑有什么要求_在同台电脑上再次安装MySql需要注意的事项

    msyql 安装到最后一步 start service 错误解决方法 1, 到控制面板里面先把 mysql 删除 . 2. 到 c 盘 C:\Program Files 目录下把 mysql 目录删除 ...

  6. 在职爬虫工程师,带给大家超简单 Python 爬虫教程

    本篇 Python 爬虫教程主要讲解以下5部分内容,请按照顺序进行学习. 爬虫概述:介绍什么是爬虫,爬虫的目的和应用. 爬虫基础知识:介绍爬虫的基本概念,例如网络协议,HTML 结构,CSS 样式表等 ...

  7. 微专业python爬虫工程师_从零起步 系统入门Python爬虫工程师

    课程简介: 从零起步 系统入门Python爬虫工程师 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造,课程有四个阶段,爬虫0基础入门->项目实战->爬虫难点突破-&g ...

  8. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...

    我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...

  9. python爬虫开发环境中几个爬虫库的主要用途_分分钟了解Python爬虫

    一:Scrapy框架 在python爬虫时我们需要使用Scrapy框架,来提取结构化数据,他是Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据 ...

最新文章

  1. 还不懂Docker?一个故事安排的明明白白!
  2. opencv怎么2个摄像头_最后2个月,怎么做能够快速提分?
  3. 【论文笔记】One Millisecond Face Alignment with an Ensemble of Regression Trees
  4. java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)
  5. (学习笔记)Oracle约束
  6. elasticsearch 中文分词
  7. 【组队学习】【38期】组队学习内容详情!
  8. python里使用正则表达式搜索单词
  9. 百度网盘等相关百度产品账号不存在问题
  10. Python web客户端编程简单示例
  11. 腾讯云配置密钥使用putty登录 PuTTY实现Windows向Linux上传文件
  12. 射频中经常是用50欧姆作为阻抗匹配的标准的原因
  13. Android MediaRecorder问题:StartFailed解决方案
  14. html点击按钮跳出消息框
  15. 爬虫(一):爬虫的基础知识 ---通用爬虫和聚焦爬虫,http和https协议,常见的响应状态码
  16. Oracle导出报错: unknown command beginning “exp SCOTT/...“ - rest of line ignored.
  17. python datetime格式化日期_python datetime日期时间格式化: | 学步园
  18. $(this).addClass(‘class‘).siblings(‘class‘).removeClass(‘class‘)的作用
  19. linux grub vga,调整ubuntu启动界面vga分辨率的方法
  20. Win 10家庭版如何添加多用户

热门文章

  1. 产品3d建模-3d可视化模型实现VR在线展示
  2. 小公司如何做项目管理流程
  3. 小程序内嵌H5、H5回跳至小程序、小程序打开公众号中的文章
  4. 再见PDF提取收费!我用100行Python代码搞定!
  5. 腹有诗书气自华,新华三交换机大有不同
  6. 高三计算机教学总结,高三信息技术教学工作总结
  7. android通知栏设置,android系统通知栏提示消息
  8. 一文看懂预训练模型最新进展
  9. win10下VS2008提示试用期过期解决办法
  10. 基于WADE框架开发流程