termux 安装mysql 并运行b站爬虫入库 安卓11(手机上跑定时python爬虫)
运行环境
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爬虫)相关推荐
- 安装mysql程序运行出错_如何解决mysql安装后.net程序运行出错的问题
如何解决mysql安装后.net程序运行出错的问题 发布时间:2020-09-28 17:43:58 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下如何解决mysql安装后.net程序运行出 ...
- python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...
原标题:不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方 ...
- AidLearning安装Oracle JDK让Java Swing程序在华为MatePadPro平板上跑起来
AidLearning安装Oracle JDK让Java Swing程序在华为MatePadPro平板上跑起来 cemike@126.com 入手华为MatePadPro平板以后就有把windows台 ...
- 用爬虫抓取动态加载数据丨Python爬虫实战系列(6)
提示:最新Python爬虫资料/代码练习>>戳我直达 前言 抓取动态加载数据 话不多说,开练! 爬虫抓取动态加载数据 确定网站类型 首先要明确网站的类型,即是动态还是静态.检查方法:右键查 ...
- 安装mysql对电脑有什么要求_在同台电脑上再次安装MySql需要注意的事项
msyql 安装到最后一步 start service 错误解决方法 1, 到控制面板里面先把 mysql 删除 . 2. 到 c 盘 C:\Program Files 目录下把 mysql 目录删除 ...
- 在职爬虫工程师,带给大家超简单 Python 爬虫教程
本篇 Python 爬虫教程主要讲解以下5部分内容,请按照顺序进行学习. 爬虫概述:介绍什么是爬虫,爬虫的目的和应用. 爬虫基础知识:介绍爬虫的基本概念,例如网络协议,HTML 结构,CSS 样式表等 ...
- 微专业python爬虫工程师_从零起步 系统入门Python爬虫工程师
课程简介: 从零起步 系统入门Python爬虫工程师 大数据时代,python爬虫工程师人才猛增,本课程专为爬虫工程师打造,课程有四个阶段,爬虫0基础入门->项目实战->爬虫难点突破-&g ...
- python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...
我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...
- python爬虫开发环境中几个爬虫库的主要用途_分分钟了解Python爬虫
一:Scrapy框架 在python爬虫时我们需要使用Scrapy框架,来提取结构化数据,他是Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据 ...
最新文章
- 还不懂Docker?一个故事安排的明明白白!
- opencv怎么2个摄像头_最后2个月,怎么做能够快速提分?
- 【论文笔记】One Millisecond Face Alignment with an Ensemble of Regression Trees
- java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)
- (学习笔记)Oracle约束
- elasticsearch 中文分词
- 【组队学习】【38期】组队学习内容详情!
- python里使用正则表达式搜索单词
- 百度网盘等相关百度产品账号不存在问题
- Python web客户端编程简单示例
- 腾讯云配置密钥使用putty登录 PuTTY实现Windows向Linux上传文件
- 射频中经常是用50欧姆作为阻抗匹配的标准的原因
- Android MediaRecorder问题:StartFailed解决方案
- html点击按钮跳出消息框
- 爬虫(一):爬虫的基础知识 ---通用爬虫和聚焦爬虫,http和https协议,常见的响应状态码
- Oracle导出报错: unknown command beginning “exp SCOTT/...“ - rest of line ignored.
- python datetime格式化日期_python datetime日期时间格式化: | 学步园
- $(this).addClass(‘class‘).siblings(‘class‘).removeClass(‘class‘)的作用
- linux grub vga,调整ubuntu启动界面vga分辨率的方法
- Win 10家庭版如何添加多用户