- 博客(35)
- 收藏
- 关注
原创 Linux笔记:高并发下的Web架构之Nginx反向代理配置
做反向代理的目的主动断开用户和真实服务器之间直接通信,只有通过我们的代理服务器才能访问我们的服务Nginx反向代理的配置查看nginx服务器IP地址, $ip addr, 查看到此服务器ip: 192.168.55.66 (仅作为举例)编辑nginx服务器配置 $vi /etc/nginx/sites-enabled/defaultserver { listen ...
2020-01-31 19:52:36 1089
原创 Linux笔记:高并发下的Web架构之代理与负载均衡与Nginx配置
代理所谓代理就是让别人帮你办事,将结果反馈给你。1) 正向代理(Proxy)是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。例如:你无法去国外,让能出国的朋友去国外购买商品后再转交给你。例如:中国无法访问google.com, 我们...
2020-01-31 17:23:25 2632
原创 Linux笔记:高并发下的Web架构之高可用、高并发和经典系统架构
概述在中国的互联网行业最大的特点就是访问量大,我们在做项目时要考虑如何面对高并发,当一台服务器不能满足需求时,我们要考虑搭建多台服务器同时对外提供服务,这时候我们就要用到反向代理和负载均衡的技术,随着项目的扩展,对后端的数据库也有很大压力,我们需要用到一些缓存的技术来提高我们响应的速度,减轻对数据库的压力。还有一些场景下,我们需要优化用户体验,提高服务的稳定性或者减少模块之间的依赖,我们会采用异...
2020-01-31 15:46:31 3582
原创 Linux笔记:关于性能测试(压力测试)
性能测试概述我们的项目不仅仅要考虑功能同时需要关注性能需要考虑并发访问时服务器会出现什么样的输出关于性能测试需要考虑几点吞吐率(Requests per second)反映了服务器的并发处理能力比如在50个并发下,服务器每秒钟能处理多少请求并发连接数(The number of concurrent connections)表示服务器在同一时间能够承受多少并发的请求...
2020-01-31 12:49:42 2097
原创 Linux笔记:使用uWSGI将python项目发布到linux服务器上
检查服务器软件环境$apt update 安装软件之前的通用操作$python3 -V 检查是否安装python3$pip3 -V 检查是否安装pip3$apt install python3 如果没有,则执行安装$apt install python3-pip 如果没有,则执行安装$pip3 install django 安装django框架使用django创建一个简单的项目...
2020-01-31 12:04:37 813
原创 Linux笔记:安装mysql以及使用命令行对mysql进行管理和维护
MySQL 安装$ apt update$ apt install -y mysql-server mysql-client安装时设置密码,继续后面的安装MySQL 连接$ mysql -uroot -p输入密码即可进入关于MySQL服务的操作停止:$service mysql stop启动:$service mysql start重启:$service mysql ...
2020-01-31 11:06:46 1623
原创 Linux笔记:软件发布方式以及安装管理
Linux下的软件发布方式二进制软件包下载过后即可使用,已经编译好的源代码软件包需要先编译才能使用二进制包的安装和管理Debian系列 (以ubuntu为例)$apt update 更新软件仓库信息$apt install -y zip 安装zip软件$apt remove zip 删除zip软件Redhat系列(以centos为例)$yum...
2020-01-30 21:34:38 532
原创 Linux笔记:进程管理、系统状态
进程程序 是指令和数据的有序集合,是一个静态的概念进程 代表一个正在运行的程序的实例线程 通常在一个进程中可以包含若干个线程在命令的末尾加上&符号,就可以让程序在后台运行(前台运行可以卡住整个终端,阻塞了,无法处理其他事情)程序正在前台运行,可以使用Ctrl+Z把程序暂停jobs命令 查看运行的程序bg 把暂停的程序放到后台运行fg 把一个程序调到前台运行进程操作案例...
2020-01-30 18:38:36 305
原创 Linux笔记:权限管理、用户和用户组
Linux 中的权限种类read :可读 数字代号:4write :可写 数字代号:2execute :可执行 数字代号:1补充:拥有全部权限是:7(4+2+1)拥有可读可执行是:5(4+1)其他权限任意组合即可!不同权限的含义 代表字符权限对文件的含义对目录的含义 r读权限可以查看文件内容可以列出目录中的内容 w写权限可以修改文件内容可以在目录中...
2020-01-30 16:57:42 600
原创 Linux笔记:文本编辑器vi/vim的使用
vi/vim的模式vi/vim 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下vi主要有两种模式:命令模式和编辑模式vi打开后默认是命令模式,如果要进入编辑模式需要按下 a 或 i从编辑模式返回到命令模式,需要按下esc保存退出需要在命令模式下,按:wq:wq 存盘并退出(write and quit):w 存盘:q 退出(如果有修改则无法退出):q! 不...
2020-01-30 13:53:23 369
原创 Linux笔记:文件打包与解压
三个主要的压缩文件格式tar.gz打包:$tar -zcf test.tar.gz test 将test目录打包,生成test.tar.gz文件-zcf 是打包选项,z标识使用gzip格式压缩,c表示create创建文件,f表示file文件解压:$tar -zxf test.tar.gz 将test.tar.gz压缩文件解压-x 表示解压也可以加-v参数,表示解压到什么地方了, ...
2020-01-30 13:23:32 1882
原创 Linux笔记:目录与文件操作命令
目录与文件操作命令pwd print working directory 打印当前工作目录cd change directory 改变目录例子:cd ~ 宿主目录 或 直接 cd例子:cd .. 切换到上级目录, 两个点代表上级目录,一个点代表当前目录../.. 表示上上级目录,以此类推ls list 列出目录中的文件ls -l 详细信息ls -a 显示所有文件(包含以点...
2020-01-30 12:42:08 3446
原创 Linux笔记:关于Linux操作系统的特性、界面、购买、安装、接入操作等
Linux系统介绍操作系统是建立在硬件和软件之间的桥梁,为应用软件提供一些底层的支持常见的操作系统有:PC端的如MacOS、Windows、Unix、Linux, 手机端的如:Android、iOS系统等Linux作为服务器最常用的系统,在使用上与windows有很大区别Linux操作系统诞生于1991年,根据Unix开发而来,是免费的类Unix操作系统Linxu操作系统有很多版本分支...
2020-01-30 11:09:48 1631
原创 Python笔记:滑动验证码的识别算法
概述用程序识别极验滑动验证码的验证,包括分析识别思路、识别缺口位置、生成滑块拖动路径、模拟实现滑块拼合通过验证等步骤。准备工作使用Python库是Selenium,浏览器为Chrome。请确保已安装Selenium库和ChromeDriver浏览器驱动。关于极验滑动验证码:极验滑动验证码官网为:http://www.geetest.com/验证方式为拖动滑块拼合图像,若图像完全拼合...
2020-01-29 16:38:31 1635
原创 Python笔记:API服务的数据采集案例
用API爬取天气预报数据案例阅读前特殊说明由于和风天气预报属第三方服务提供商,API地址,文档以及技术架构等可能会因时间而更改,由此可能会造成博文出现错误,因此本文仅供阅读参考具体使用请具体参考官方文档API的数据获取是爬虫中最简单的一个环节注册免费API和阅读文档本节通过一个API接口(和风天气预报)爬取天气信息,该接口为个人开发者提供了一个免费的预报数据(有次数限制)首先访...
2020-01-29 14:12:48 771
原创 Python笔记:使用代理方式抓取App的数据操作案例
概述App的爬取相比Web端爬取更加容易,反爬中能力没有那么强,而且响应数据大多都是JSON形式,解析更加简单。在APP端若想查看和分析内容那就需要借助抓包软件,常用的有:Filddler、Charles、mitmproxy、Appium等。mitmproxy是一个支持HTTP/HTTPS协议的抓包程序,类似Fiddler、Charles的功能,只不过世它通过控制台的形式操作。Appiu...
2020-01-29 11:41:54 2004
原创 Python笔记:分布式爬虫原理与Scrapy分布式应用
分布式爬虫原理概述Scrapy框架虽然爬虫是异步多线程的,但是我们只能在一台主机上运行,爬取效率还是有限。分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,将大大提高爬取的效率。分布式爬虫架构1 ) Scrapy单机架构回顾Scrapy单机爬虫中有一个本地爬取队列Queue,这个队列是利用deque模块实现的。如果有新的Request产生,就会放到队列里面,随后Reque...
2020-01-21 19:30:10 1165
原创 Python笔记:第三方IP代理服务与爬虫IP代理
代理服务我们在做爬虫的过程中经常最初爬虫都正常运行,正常爬取数据,一切看起来都是美好,然而一会儿功夫就出现了错误。如:403 Forbidden错误,“您的IP访问频率太高”错误,或者跳出一个验证码让我们输入,之后解封,但过一会又出现类似情况。出现这个现象的原因是因为网站采取了一些反爬中措施,如:服务器检测IP在单位时间内请求次数超过某个阀值导致,称为封IP。为了解决此类问...
2020-01-19 22:53:42 776
原创 Python笔记:MongoDB与Redis的使用
MongoDB数据库简介MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。参考地址:MongoDB 官网地址:https://www.mongodb.com/MongoDB 官方英文文档:https:...
2020-01-19 16:34:25 577
原创 Python笔记:Selenium库的使用以及结合Scrapy框架的操作案例
Selenium库的介绍Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击,下拉,等操作Selenium可以获取浏览器当前呈现的页面源代码,做到可见既可爬,对应JavaScript动态渲染的信息爬取非常有效官方网址:http://www.seleniumhq.org官方文档:http://selenium-python.readthedocs.io中文文档...
2020-01-18 12:05:30 815
原创 Python笔记:爬虫框架Scrapy抓取数据案例实战解析包含项目代码
本项目通过Scrapy框架的爬虫实战案例来巩固该项技术栈,并用于日后回忆和反思
2020-01-14 17:55:11 871
原创 Python笔记:爬虫框架Scrapy抓取数据入库及图片下载流程处理
概述我们通过一个案例来梳理使用scrapy框架抓取数据入库以及下载图片媒体文件的整个流程任务爬取csdn学院中的课程信息(人工智能相关的)https://edu.csdn.net/courses/o5329/p1 (第一页)https://edu.csdn.net/courses/o5329/p2 (第二页)备注:页面以及代码可能因时间和技术迁移而失效,此处只做学习研究和分享创建...
2020-01-12 20:33:10 525
原创 Python笔记:爬虫框架Scrapy之ItemPipeline的使用
ItemPipeline的介绍当Item在Spider中被收集之后,它将会被传递到Item Pipeline,一些组件会按照一定的顺序执行对Item的处理。每个item pipeline组件(有时称之为“Item Pipeline”)是实现了简单方法的Python类。他们接收到Item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或是被丢弃而不再进行处理。...
2020-01-11 18:01:31 479
原创 Python笔记:爬虫框架Scrapy之Settings配置说明
Scrapy框架中的Settings 常见配置Scrapy设置(settings)提供了定制Scrapy组件的方法。可以控制包括核心(core),插件(extension),pipeline及spider组件。 相关参考文档内置设置摘录BOT_NAME默认: ‘scrapybot’当使用 startproject 命令创建项目时其也被自动赋值。CONCURRENT_ITEM...
2020-01-11 10:55:51 446
原创 Python笔记:爬虫框架Scrapy之Spider Middleware的使用
关于Spider中间件Spider中间件是介入到Scrapy的spider处理机制的钩子框架,您可以添加代码来处理发送给 Spiders 的response及spider产生的item和request。激活spider中间件要启用spider中间件,您可以将其加入到 SPIDER_MIDDLEWARES 设置中。 该设置是一个字典,键位中间件的路径,值为中间件的顺序(order)。SP......
2020-01-11 09:52:57 558
原创 Python笔记:爬虫框架Scrapy之Downloader Middleware的使用
Downloader Middleware的功能在Downloader Middleware的功能十分强大:可以修改User-Agent处理重定向设置代理失败重试设置Cookies等Downloader Middleware在整个架构中起作用的位置是以下两个:在Scheduler调度出队列的Request发送给Doanloader下载之前,也就是我们可以在Request执行下...
2020-01-11 08:48:20 373
原创 Python笔记:爬虫框架Scrapy之Spider的原理
Scrapy中的Spider概述在Scrapy中,要抓取网站的链接配置、抓取逻辑、解析逻辑里其实都是在Spider中配置的。Spider要做的事就是有两件:定义抓取网站的动作和分析爬取下来的网页。Scrapy中的Spider运行流程以初始的URL初始化Request,并设置回调函数。请求成功时Response生成并作为参数传给该回调函数。在回调函数内分析返回的网页内容。返回结果两种...
2020-01-10 21:51:11 665
原创 Python笔记:爬虫框架Scrapy之Selector选择器数据解析详解
关于Selector选择器对用爬取信息的解析,我们在之前已经介绍了正则re、Xpath、Beautiful Soup和PyQuery。而Scrapy还给我们提供自己的数据解析方法,即Selector(选择器)。Selector(选择器)是基于lxml来构建的,支持XPath、CSS选择器以及正则表达式,功能全面,解析速度和准确度非常高。Selector(选择器)是一个可以独立使用的模块。...
2020-01-10 13:31:59 3154
原创 Python笔记:爬虫框架Scrapy之应用实践:命令使用、项目结构、爬取过程分析
Scrapy 命令全局命令 (Anywhere on your computer) $ scrapy -h 或 $ scrapy -helpJohnny:~ johnny$ scrapy -hScrapy 1.8.0 - no active projectUsage: scrapy <command> [options] [args]Available comma...
2020-01-09 20:26:48 371
原创 Python笔记:爬虫框架之Scrapy架构图及原理
关于Scrapy框架Scrapy是: 由Python语言开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫...
2020-01-04 19:43:09 1335
原创 Python笔记:爬取头条Ajax搜索结果综合列表图片数据实践
爬取今日头条搜索结果数据获取今日头条搜索结果异步数据并将图片存入本地相关代码实现import os,timeimport requestsfrom urllib.parse import urlencodefrom urllib.request import urlretrieveimport ssldef getPage(offset): '''爬取指定url页面信息'...
2020-01-04 15:41:56 385
原创 Python笔记:网站验证码的图像识别技术实战
关于验证码图像的识别图像验证码大多出现在网站登录的地方, 通用来讲大多用于验证合法性的地方,图像识别是人工智能领域的一个研究方向,而我们这里讲的比较简单,主要是针对一些可以转换成文本信息的图片,在python中有一个专门处理类似图片的识别库 - tesserocr , 它是Python的一个OCR识别库,所谓 OCR 即Optical Character Recognition, 光学字符识别,...
2020-01-04 12:58:45 309
原创 Python笔记:网站反爬虫与反反爬策略和Ajax信息的爬取实践
一般网站从三个方面反爬虫, 前两种比较容易遇到,大多数网站都从这些角度来反爬虫。第三种一些应用ajax的网站会采用,还有一些是数据推送,这样增大了爬取的难度
2020-01-03 18:08:52 1208
原创 Python笔记:网络爬虫实战之豆瓣网
本项目通过豆瓣电影Top250的爬取来实践三种解析库的使用, 备注:因技术具有时效性,本文只提供解决问题的思路。
2020-01-03 09:53:32 466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人