基于Scrapy的网络爬虫案例 2022-01-09| 网络爬虫 | 网络爬虫 - Scrapy 前言这是在公司实习时,领导给出的一个数据爬取需求。(所以涉及法律问题请找公司的麻烦,不要联系我😂)
虽然我之前也干过网络爬虫,但都是在比较完整的框架下进行实现:以前只需要实现URL解析和网页源码抽取接口,其他像网络爬虫配置,数据存储,数据抽取,数据导出,任务启动和停止等模块只需要鼠标click一下 ...
阅读更多 详解HTTP协议 2022-01-05| 计算机网络 HTTP协议 | 计算机网络 - HTTP协议 引入超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法 ...
阅读更多 从堆排序到优先级队列 2021-12-29| 数据结构与算法 排序 | 数据结构与算法 - 排序 - 队列 前言本文包含以下几部分内容
[x] 二叉堆
[x] 堆排序
[x] 二叉堆应用:优先级队列
[x] Java PriorityQueue
正文二叉堆二叉堆是堆排序实现的底层逻辑结构。二叉堆是一种特殊的二叉树(完全二叉树),一般存储在数组中。
对于链表二叉树,一般是操作节点指针,而对于二叉堆,我们 ...
阅读更多 统计文件夹下各种后缀名的文件个数 2021-12-29| Linux Scripts | Linux test文件夹组织结构如下:
test/ -1.jpg -dd/ -2.jpg -e/ -3.jpg -4.jpg -5.txt -ll.dir/ -5.rar
现在想统计test目录下不 ...
阅读更多 Python dict 笔记 2021-12-28| Python 基础 | Python 介绍字典(dict)是Python内置提供的一种常用数据结构,他用于存放具有映射(mapping)关系的数据。
可变对象。
dict 常用操作创建两种方式,使用dict()函数创建字典;使用花括号语法创建字典。
dict1 = {}dict2 = dict() # 创建了一个空 ...
阅读更多 LRU: 缓存淘汰算法 2021-12-26| 操作系统 | 数据结构与算法 - 操作系统 前言在使用缓存时,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间。但是缓存数据不能随机删除,一般情况下需要根据某种算法删除缓存数据。
常用的淘汰算法有LRU, LFU, FIFO,本篇介绍LRU算法并重点讲述LRU的实现。完整代码也是LeetCode 146. LRU缓存的答案。
...
阅读更多 Tmux 简介 2021-12-26| Linux 开发工具 | Linux - 开发工具 什么是Tmux打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。
用户与计算机的这种临时的交互,称为一次”会话”(session) 。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束。
一个典型的例子,打开一个远程窗 ...
阅读更多 火车站台数量问题 2021-12-25| 数据结构与算法 | 数据结构与算法 题干假设已知某个火车站的所有过往列车的到达arrival和离开departure时间(同一天),如果要求所有列车都不等待直接进站,问至少需要多少个站台。无需考虑晚点等特殊情况。
例如, Input: 到达时间: arr[] = {9:00, 9:40, 9:50, 11:00, 15:00, ...
阅读更多 Java-初识注解 2021-12-23| Java | Java 初识注解简介
Annotation提供了一种为恒旭元素设置元数据的方法。
类似于修饰符,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。
Annotation是一个接口,程序可以通过反射来获取指定程序元素的Annotation对象。
Annotation不影响程序代码的运行。
如果希 ...
阅读更多 编写脚本读取文件并执行命令 2021-12-21| Linux Scripts | Python - Linux Bash 最近遇到如下需求:
有一个文件,文件格式大概是这样
<filename1>\t<download_url1><filename2>\t<download_url2>
编写一个脚本循环读取该文件的每一行,使用axel命令将download_url下载下 ...
阅读更多