最新文章
简介:cheerio 是一个HTML解析器,cheerio实现了核心jQuery的子集。常用来解析采集来的HTML数据。安装:npm install cheerio 基础使用:const cheerio = require('cheerio'); var htmlString = ` ul id="fruits" li class="apple" 苹果 /li li class="orange" 橙子 /li li class="pear" 梨 /li /ul `; $ = cheerio.load(htmlString); $('.apple', '#fruits'
野猪佩奇 2021-05-03 Node.js 1448
nginx 错误日志 nginx accept() failed (24: Too many open files) 原因是 Linux 设置了软硬文件句柄和打开文件的数目,你可以使用 ulimit 命令来查看这些限制。什么是ulimit?ulimit 描述符用于限制用户打开的文件数量,让单个用户不至于打开较多的文件,导致系统奔溃或者资源不足的情况。Linux中一切皆文件,所以文件的含义是很广的。unlimit 还可以限制所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户
野猪佩奇 2021-05-03 运维 835
nginx.confload_module modules/ngx_http_js_module.so; #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types;
野猪佩奇 2021-04-29 运维 639
修改配置文件:/etc/ssh/sshd_config#ClientAliveInterval 0 #ClientAliveCountMax 3 ClientAliveInterval 60 ClientAliveCountMax 3 ClientAliveInterval 0指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。设置60表示每分钟发送一次, 客户端响应, 就保持连接了。ClientAliveCountMax 3表示服务器发出请求后客户端没有响应的次数达到3次以后, 就自动断开。
野猪佩奇 2021-04-25 运维 1131
1. 登录到服务器,生成 SSH 的密钥和公钥 ssh-keygen -t rsa 将公钥复制到 authorzied_keys 文件 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 修改 authorized_keys 权限为 644,.ssh 权限为700 chown -R 700 ~/.ssh chown -R 644 ~/.ssh/authorized_keys ls -a .ssh #查看用户权限 备注,生成的证书不留空证书密码的话,别人有证书也无法登录。 然后,下载服务器上生成的 ~/.ssh/id_rsa 私钥文件到本地。 2. 修改服
野猪佩奇 2021-04-25 运维 1182
正常情况下载视频:ffmpeg -i m3u8-path -c copy OUTPUT.mp4 ffmpeg -i m3u8-path -vcodec copy -acodec copy OUTPUT.mp4 ffmpeg -i https://test.com/playlist.m3u8 -c copy OUTPUT.mp4 下载加密的 m3u8:1. playlist.m3u8的文件#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:5 #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-MEDIA-SEQUENC
野猪佩奇 2021-04-20 开发工具 2573
chmod 修改项目文件夹的权限以后,git status 发生了大量变化的文件。原因是 Git 不仅能够管理文件的版本,而且能够管理对文件的访问权限。通常,一个文件的访问权限可以分为xrw,这些属性也被纳入到Git库的管理。修改文件的访问权限,也是对git库中文件的 modify,执行git status 会看到变化。filemode 简介Git对文件的访问权限的管理与配置选项core.filemode有关。core.filemode选项默认true,即区分文件的执行权限,校验Git的Index中和工作目录中的文件权限。查看 filemode 选项git config --get core.
野猪佩奇 2021-04-15 开发工具 1849
ctx.request.ip请求远程地址。 当 app.proxy 设置为 true 时,支持 X-Forwarded-Host。1, 在 Nginx 反向代理配置 proxy_pass 的部分添加这样一行。 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;2, 在 Koa 应用里设置 app.proxy 为 true。X-Forwarded-For 定义X-Forwarded-For (XFF) 在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首
野猪佩奇 2021-04-14 Node.js 1573
npm install sharp --unsafe-perm sharp@0.28.1 install /space/www/cn_restfulapi/node_modules/sharp (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy) sharp: Downloading https://github.com/lovell/sharp-libv
野猪佩奇 2021-04-14 Node.js 2086
SELECT id,title FROM tb_item GROUP BY id SELECT id,title,count(*) AS counter FROM tb_item GROUP BY id counter 实际上是每组的计数统计分组后的数据,应该使用这样的子查询:select count(*) from (select count(*) FROM service GROUP BY name,service) t 实例:var replacements = {tags:"11,12,13"} var sql = ` SELECT id,tags,title,r.*
野猪佩奇 2021-04-11 MySQL 1137
一、concat()函数concat(str1, str2,...) 将多个字符串连接成一个字符串。返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。例子:select concat (id, title, counter) as info from tb_user; select concat (id, ',', title, ',', counter) as info from tb_user; 二、concat_ws()函数concat_ws(separator, str1, str2, ...) 和concat()一样,将多个字符串连接成一个字符
野猪佩奇 2021-04-10 MySQL 944
MySQL手册中find_in_set函数的语法:FIND_IN_SET(str,strlist) str 要查询的字符串strlist 字段名 参数以”,”分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist
野猪佩奇 2021-04-10 MySQL 1037
1,cheerio 获取一个文本节点,该节点没有html标签,比如想获取html中的“猪突猛进” a href="#" 猪突猛进 span 2021年3月12日 /span /a var text = $("#itemInfo").contents().filter(function () { return this.nodeType === 3; }).text(); 2,Node.js 获取 IP V6 内容出现超时问题的解决方法本地是IP V4,获取IP V6内容的时候,提示:Error: connect ETIMEDOUT 172.67.21
野猪佩奇 2021-03-19 Node.js 1132
显示所有重复数据分组SELECT origin_id FROM topk88_product GROUP BY origin_id HAVING count(*) 1 删除所有重复DELETE FROM topk88_product WHERE origin_id IN ( SELECT origin_id FROM topk88_product GROUP BY origin_id HAVING count(*) 1 ); 提示:You can't specify tar
野猪佩奇 2021-03-17 MySQL 870
项目需要采集日文网站,该日文网站编码是 EUC-JP。 原采集函数是: // 下载指定页面 HTML function getHtml(url) { var hp = http; if(url.substr(0,5) == "https"){ hp = https; } return new Promise(function (resolve, reject) { hp.get(url, function (res) { var html = ''; res.on('data', function (data) { h
野猪佩奇 2021-03-11 Node.js 1313
Nginx 报错 open() "nginx/fastcgi_temp/7/14/0000000147" failed (13: Permission denied) while reading upstream网站使用的是 Wordpress 无法正常打开某些页面,查看日志报错[crit] 866#0: *698736 open() "/space/nginx/fastcgi_temp/7/14/0000000147" failed (13: Permission denied) while reading upstream, client: 39.149.237.52, server: s
野猪佩奇 2021-03-04 运维 1080
一、ASCII 码所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。「加ascii图」 二、ASCII 编码的缺点英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。 比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母Gimel (ג),在俄语编码中又会代表另一个符号。但是不管怎样,所有这些编码方式中,0--127表示的符号是一样的,不一样的只是128--255的这一段。 至于亚洲国家的文字,使用的符号就更多了,
野猪佩奇 2021-02-08 JavaScript 973
add_theme_page()函数add_theme_page()函数会在后台“外观”菜单项下面新建一个菜单项,有助于我们自己修改主题时功能的扩展。语法结构add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function); page_titile title标签的内容menu_title 显示在后台左边菜单的标题capability 访问这个页面需要的权限menu_slug 别名,需要独一无二哦自己命名function 执行的函数例子:# 加入主题的functions.php即可 function r
野猪佩奇 2021-01-30 WordPress 911
通用HTTP身份验证有几种身份验证模式,每种模式在安全强度不同,在客户机或服务器软件中的可用性方面可能有所不同。最常见的认证方案是“基本”认证方案,下面将详细介绍它。参考:https://javascript.net.cn/article?id=628IANA维护着一个认证方案列表,但是主机服务也提供了其他的认证方案,比如Amazon AWS。常见的认证方案包括:BasicSee RFC 7617, base64-encoded credentials. More information below.https://tools.ietf.org/html/rfc7617BearerSee RF
野猪佩奇 2021-01-29 开发技巧 1305
Content-Disposition 通常作用于两种情况中,“作为消息主体中的消息头”或“作为multipart body中的消息头”作为消息主体中的消息头一般情况下,Content-Disposition 响应头指示返回的内容,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。Content-Disposition: inline默认值,表示回复中的消息体会以页面的一部分或者整个页面的形式展示Content-Disposition: attachment表示消息体应该被下载到本地;Content-Disposition: attachment; filename=
野猪佩奇 2021-01-28 开发技巧 1377
随机推荐
JavaScript class 的 this 指向
Nginx 通过日志统计访问数据
MySQL 批量插入数据时如何解决重复问题
CSS 滚动条样式修改
JavaScript API 接口
WordPress RESTful API 的授权方式
WordPress 后台添加菜单
Node.js 内置模块