刘硕的技术查阅手册

Python 全栈开发学习笔记

所谓的框架,其实就是一个被集成了很多功能且具有很强通用性的一个项目模板。我们写爬虫代码,需要经常写一些请求发送、数据解析、存储数据的代码。重复写代码当然不是一个好事情。同时,如果我们想要对爬虫代码进行优化,又要付出很大精力写很多代码才行。有时候,受限于自身水平,麻麻烦烦写好的优化代码效率仍然不让人满意。于是,scrapy 应运而生。

阅读全文 »

我们已经学到很多反爬机制以及相应的反反爬策略。是用那些手段,其实以及完全可以完成绝大多数的爬虫任务。但是,还是有极个别的情况下,会出现诸如 JS 加密和 JS 混淆之类的高深反爬机制。这里就以中国空气质量在线检测平台为例,介绍 JS 加密和 JS 混淆的实现和破解方法。

阅读全文 »

移动端数据的爬取,主要指的针对手机、平板电脑等便携设备的应用数据进行爬取。因为移动端应用获取数据也是使用 HTTP 协议,通过发送请求获取到数据。所以我们只需要获取到移动端应用的请求接口,给足所需的参数,就可以实现移动端数据的爬取。

阅读全文 »

爬虫过程中,各种反爬机制让人头疼。由于动态网页的存在,明明浏览器看得见可以点击的东西,却不能直接通过 requests 请求得到。非要绕很多弯才能获取我们想要的数据。有的请求还要携带 cookie 和一些乱七八糟的字符串。selenium 模块就是为了帮我们解决这些困扰而诞生的。selenium 是一种基于浏览器的自动化的模块。

阅读全文 »

HTTPS 是基于 HTTP 和 SSL/TLS 实现的一个协议,使用 HTTPS 在网络上传输的数据都是加密的,从而保证数据安全。接下来我们从没有加密的 HTTP 协议开始,逐步对数据进行加密,增加安全性,最终实现 HTTPS。

阅读全文 »

我们让 git 管理文件的时候,可以设置一些让 git 忽略的文件或者文件夹。通过一个叫做 .gitignore 的文件,告诉 git 那些文件或文件夹不需要它帮我们进行版本控制。

阅读全文 »

issues 就是问题,在项目使用过程中遇到了什么操作上的问题,或者发现了什么 bug,可以通过提交 issues 向作者反映。项目介绍,百科,其实写一个项目,都需要写wiki,来做项目的整体描述和说明,其他人来参与项目的时候,先看wiki。

阅读全文 »

我们从前都是把数据存放到文件当中。但是对于真正的生产环境而言,文件存储有其先天的不足。比如,很多情况下,我们的客户端和服务器都不止一个。而如果把数据只以文件的形式存储到一个服务器上,另一台服务器可能不能及时接收到相应。对于用户信息之类的重要数据而言,这将是不可接受的。而且我们往往一台计算机只进行一种任务。这样的话,即便有一台计算机出了问题,其他计算机依然可以继续正常工作,整个系统的容灾性会很好。于是,很多情况下,我们会把储存数据的任务交给独特的计算机,也就是数据库。

阅读全文 »
0%