前言 从零学 Python 案例,自从提交第一个妹子图版本引来了不少小伙伴的兴趣。最近,很多小伙伴发来私信说,妹子图不能爬了!? 趁着周末试了一把,果然爬不动了,爬下来的都是些 0kb 的假图片,然后就是一系列的报错信息,显然妹子图图长已经做了防御措施。 伪装 无论怎么做防御措施,总不能把正常用户也给禁了?所以,我们要尽可能的伪装成正常用户,我就是来看妹子图的。 防盗链处理延时处理请求图片准备尽量多的请求头动态代理IP(花钱,暂且不考虑) 请求头,越多越好,尽量避免同一个请求头去处理图片。 me
2024-12-11股市闲谈:G股是G点,大牛不用套!(2006-05-12 19:02:25) 能和本ID聊股市的,如果有,最多就处在精子或卵子状态,连受精卵都算不上。而且股市游戏是靠干出来而不是说出来的,因此一般都不说。但看到有些人被这股市折腾得厉害,出于同情,又周末了,也就说两句。 一年前股市跌到1000点最腥风血雨时,当时看到很多人在网上很可怜,就用老ID给了一个明确的说法,叫“G股是G点”,越腥风血雨就机会越大了。现在这个G点已经弄得让很多人受不了,绝大多数在市场中的
2024-12-11内存分配 堆与栈的区别 管理方式不同 :栈是由编译器自动申请和释放空间,堆是需要程序员手动申请和释放; 空间大小不同:栈的空间是有限的,在32位平台下,VC6下默认为1M,堆最大可以到4G; 能否产生碎片:栈和数据结构中的栈原理相同,在弹出一个元素之前,上一个已经弹出了,不会产生碎片,如果不停地调用malloc、free对造成内存碎片很多; 生长方向不同:堆生长方向是向上的,也就是向着内存地址增加的方向,栈刚好相反,向着内存减小的方向生长。 分配方式不同:堆都是动态分配的,没有静态分配的堆
2024-12-11内核创建一个init进程,内核不提供直接创建新进程的系统调用 所有进程都由init进程通过fork机制创建。 子进程可以重父进程那继承所有东西 调用fork后, linux会重新开辟以块内存空间, 复制一份老进程的数据到新的内存空间。 进程的标识 : 操作系统会为每个进程分一个唯一的整数ID, 非负整数 pid, pid范围0-32767 ps -A 列出进程的ID号 pid = 0的进程 是系统中所有进程的祖先。 idle 调度进程 , 不执行任何磁盘上的文件, 唯一个没有调用fork的进
2024-12-11最近没事的时候,准备研究一下Windows命令行参数的知识,因为每次自己在操作电脑时总是效率太慢,如果能够了解Windows参数的一些知识,绝对能提高效率! 基本外部命令和内部命令 首先是基本的知识,一般Windows命令包含内部命令和外部命令,其中外部命令比较多,外部命令一般在%SystemRoot%\System32里面,我的电脑%SystemRoot%=C:\Windows,估计别人的也差不多。还有一个比较常用的路径%UserProfile%=C:\User\Administrator(或
2024-12-111. Linux的启动流程 系统启动过程中内核要检测硬件并加载适当的驱动程序,接下来则必须调用程序来准备好系统运行的环境,以让用户能够使用整个主机系统 1.1 启动流程 systemd 执行 sysinit.target 初始化系统及 basic.target 准备OSsystemd 启动 multi-user.target 下的本机与服务器服务systemd 执行 multi-user.target 下的 /etc/rc.d/rc.local 文件systemd 执行 multi-user
2024-12-11(1)/proc文件系统的特点和/proc文件的说明/proc文件系统是一种特殊的、由软件创建的文件系统,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间。/proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件的内容。也可以通过写/proc文件修改内核参数(2)/proc目录下的文件分析/proc/$pid 关于进程$pid的信息目录。每个进程在/proc 下有一个名为其进程号的目录。例: $>strings -f /proc/[0-9]*/c
2024-12-11Java多线程之线程调度 线程优先级 Java线程有优先级,优先级高的线程会获得较多的运行机会(就像高富帅)。 Java线程的优先级用整数表示,取值范围是1~10,Thread类有以下三个静态常量: static int MAX_PRIORITY:线程可以具有的最高优先级,取值为10。static int MIN_PRIORITY: 线程可以具有的最低优先级,取值为1。static int NORM_PRIORITY:分配给线程的默认优先级,取值为5。 Thread类的setPr
2024-12-11一、时间片轮转调度算法(RR) 1、算法思想 公平地、轮转地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应 2、算法规则 按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片(如100ms)。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队 用于进程调度(只有作业放入内存建立相应的进程后,才能被分配处理机时间片) 3、是否可抢占 若进程未能在时间片内运行完,将被强行剥夺处理机使用权,因此时间片轮转调度算法属于抢占式的算法。由时钟装置发出时钟中断来通知
2024-12-11操作系统概念学习笔记 9 线程 概述 单个进程可以包括多个控制线程。 线程 ——一种CPU利用的基本单元,它是形成多线程计算机的基础。 线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器集合和栈组成。它与属于统一进程的其他线程共享代码段、数据段和其他操作系统资源。 一个传统重量级的进程只有单个控制线程,如果进程有多个控制线程,那么能同时做多个任务。 单线程与多线程 动机 一个应用程序通常是作为一个具有多个控制线程的独立进程实现的。如一个忙碌的网页服务器如果有多个(或数
2024-12-11