自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 linux系统启动报错:[contains a file system with errors, check forced]的解决方法

转载自: https://blog.csdn.net/BabyFish13/article/details/511901481、解决参考一Press enter for maintenance(or type Control-D to continue):/dev/sda3 contains a file system with errors, check forced./dev/sda...

2018-12-03 13:58:25 1739

转载 如何搞懂朴素贝叶斯

如何搞懂朴素贝叶斯分类算法贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。1  分类问题综述 对于...

2018-11-21 12:07:55 291

转载 逻辑斯蒂回归原理

转载自: https://blog.csdn.net/sinat_29957455/article/details/78944939 在线性感知器算法中,我们使用了一个f(x)=x函数,作为激励函数,而在逻辑斯蒂回归中,我们将会采用sigmoid函数作为激励函数,所以它被称为sigmoid回归也叫...

2018-11-20 21:00:28 1389

原创 scrapy解决selenium中无法点击Element:ElementClickInterceptedException

  最近抓取天猫商评论的时候遇到的问题selenium.common.exceptions.ElementClickInterceptedException: Message: Element <a class=""> is not clickable at point (318.3000030517578,661.7999877929688) because another...

2018-11-16 13:17:30 33696 13

转载 机器学习:评价回归模型

在sklearn中包含四种评价尺度,分别为mean_squared_error、mean_absolute_error、explained_variance_score 和 r2_score。1、均方差(mean-squared-error)2、平均绝对值误差(mean_absolute_error)3.可释...

2018-11-14 21:28:27 616

转载 分布式爬虫原理

一、分布式爬虫架构在了解分布式爬虫架构之前,首先回顾一下Scrapy的架构,如下图所示。Scrapy单机爬虫中有一个本地爬取队列Queue,这个队列是利用deque模块实现的。如果新的Request生成就会放到队列里面,随后Request被Scheduler调度。之后,Request交给Downloader执...

2018-11-09 21:00:16 4334

转载 Scrapy与Twisted

Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是事件驱动的,并且比较适合异步的代码。在任何情况下,都不要写阻塞的代码。阻塞的代码包括:访问文件、数据库或者Web产生新的进程并需要处理新进程的输出,如运行shell命令执行系统层次操作的代码,如等待系统队列Twisted提供了允许执行上面的操作但不会阻塞代码执行的方法。至于T...

2018-11-09 20:51:38 2136

原创 如何破解字体反爬机制

        这几天爬取58租房信息的时候意外发现了它是一个字体反爬的网站,所谓的字体反爬就是网站将一些关键字替换为网站自己的字体,这样在网页上字体会正常显示,但是当爬取下来的时候,经过字体加密的字符都是乱码的,根本无法查看如图所示:可以看到,2390元/月在页面上是正常显示的,但是,当我们打开查看器查看的时候......好端端的2390就变成了不知道什么字符.........

2018-10-27 17:39:14 4540 1

原创 通过ajax接口爬取智联招聘

        上次分析了抓取智联招聘网站遇到的坑,最后使用selenium模拟的方法抓取到了智联的招聘数据,但是我发现通过分析智联招聘的ajax接口,模拟ajax请求直接获取json数据这种方法更简单。        分析网页ajax接口:在搜索框输入python,点击搜索,打开浏览器开发者模式,点击network,点击XHR过滤出来ajax请求第一页:这是搜索之后第一页的信息,...

2018-10-27 16:04:25 1654

原创 分析ajax接口抓取今日头条

        抓取ajax网站可以通过分析ajax接口的方式获取到返回的json数据,从而抓取到我们想要的数据,以今日头条为例,如何分析ajax接口,模拟ajax请求爬取数据。        以今日头条的街拍为例,网页上一页只显示部分数据,查看后续数据需要鼠标下滑,这里我们分析一下它的ajax接口。打开开发者工具,选择network,点击XHR过滤出来ajax请求,可以看到这里有很多...

2018-10-27 10:43:40 3173

原创 flask项目部署

此次部署用的是在阿里云购买的服务器(Ubuntu),nginx+uwsgi部署项目之前确保你在阿里云安全组设置了端口能够访问,下载安装过nginx,uwsgi与python环境,安装flask项目所用到的各种库(生成requirements.txt文件快速安装)。项目文件我将自己的项目文件放到了var/www/目录下,项目的文件为blog配置nginx服务器1.切换到etc/n...

2018-10-07 10:39:08 329

原创 requests实现一个通用自动下载爬虫(限制下载速度,下载深度)

        Scrapy框架虽然能够很方便的下载网页,但是有时候爬取数据可能用不到Scrapy如此大的框架,使用requests库进行下载更加方便,那么我们就可以手动实现一个通用的requests库进行下载的爬虫,包括自动下载网页中其他链接的网页,限制爬虫爬取的速度,限制爬取网页的深度(从种子链接往下爬取几层网页)。        主要功能实现:1.从下载的网页抽取出其他网页的链接。2.解...

2018-10-07 09:43:40 3473

原创 实现爬虫下载限速

        大部分网站一般都会通过ip的访问频率来判断是不是爬虫,虽然Scrapy框架实现了爬虫的限制爬取速度功能,但是当我们爬取的信息不需要用到Scrapy框架,使用requests更加方便的时候,就需要自己手动实现爬虫限制下载速度了。        代码思路:1.记录爬虫爬取过的每个链接与爬取时间的时间戳;2.设置两次下载时间间隔;3.下载新的网页的时候判断两次下载的时间间隔是否达到了...

2018-10-06 16:39:34 1584

原创 Scrapy框架原理及流程

这是一篇整理爬虫概念知识的文章。Scrapy工作流程图Scrapy数据流是由执行的核心引擎(engine)控制,流程是这样的:1、爬虫引擎获得初始请求开始抓取。 2、爬虫引擎开始请求调度程序,并准备对下一次的请求进行抓取。 3、爬虫调度器返回下一个请求给爬虫引擎。 4、引擎请求发送到下载器,通过下载中间件下载网络数据。 5、一旦下载器完成页面下载,将下载结果返回给爬...

2018-10-06 16:13:54 854

原创 scrapy由浅入深(三) selenium模拟爬取ajax动态页面(智联招聘)

爬取智联招聘的网址:https://sou.zhaopin.com/?pageSize=60&jl=489&kw=python&kt=3        上一篇博客爬取了前程无忧的职位招聘信息,总体来说前程无忧的网站信息并不难爬取,前程无忧的网站并没有ajax,直接请求网站就能获得职位信息,但是智联招聘的页面涉及到ajax,直接get网站的url获取不到任何有用的信息,这...

2018-09-21 21:49:56 1831

原创 scrapy由浅入深(二) 爬取51job职位薪资信息

        上次的爬虫只是爬取了CSDN论坛的问题数据,相对来说比较简单,本篇文章来介绍一下爬取51job网站,获取它的职位,薪资,职位要求等信息。        代码思路:1.首先获取到种子网页的所有职位的url,以及下一页的url。2.通过抽取到的职位的url来依次请求相应职位的详细信息,包括薪资,职位要求等。3.定义解析数据的函数,通过xpath或者css选择器获取到职位薪资信息。4...

2018-09-20 23:11:49 881

原创 scrapy由浅入深(一)爬取CSDN论坛

        对scrapy框架的学习也有了一段时间,所以准备爬取一些网站的信息来检测一下scrapy的学习成果。由浅入深,从较规律的网站开始爬取,再爬取不规则的网站,以及ajax动态页面。         今天先从较简单的CSDN的python论坛爬取,之所以说这个比较简单是因为CSDN的论坛不是动态的页面,而且网站的url非常有规律可询,并不需要使用selenium模拟或者抽取下一页的网...

2018-09-20 22:40:17 752

原创 爬虫如何避免网页重复爬取

    在使用爬虫爬取网页信息的时候,如果只爬取固定的网页还好,但是如果从一个网页的源码中解析出其他的链接,爬虫爬取到其他的网页,这样就会出现一个问题,如何确定这个网页我爬取过,如何设置爬取的网页不再爬取。    本篇文章实现避免重复爬取的思路是:将爬取过的网页的链接和该网页的信息以键值对的形式保存到数据库中,当爬虫爬取一个网页之前,先从数据库中查找是否有该网页的爬取记录,如果有该网页的爬取记...

2018-09-08 17:23:28 20866

原创 通过lxml数据抽取实现一个简单爬虫(爬虫基础学习)

1.lxml    python lxml包用于解析XML和html文件,可以使用xpath和css定位元素,在爬虫中经常需要根据html标签来定位需要爬取的信息所在的位置,当然也可以使用正则表达式来匹配对应的html标签及标签中包含的内容,但是相信大部分小伙伴对正则表达式都深恶痛绝,想要写出来一个能够正确匹配到需要的信息的正则表达式实在是不容易,但是使用lxml就能够非常方便的匹配到我们想要...

2018-09-08 16:37:43 989

原创 Django REST Framework序列化外键获取外键的值

需求:序列化外键,获取外键的除id之外的值使用Django REST Framework虽然开发接口快速,但是如果想要获取到除外键id值之外的外键信息,直接继承serializers.ModelSerializer类,然后在fields中指定返回的字段是获取不到外键的其他值的,比如我现在需要外键的name属性值,下面就给大家介绍两种方法通过序列化外键来获取我们想要的外键的值。这里有两个Mo...

2018-08-27 22:54:30 13998 6

原创 flask创建数据模型及数据迁移

1.flask-sqlalchemy使用flask创建数据表,并将这些数据表保存到指定的数据库需要借助一个扩展库flask-sqlalchemy,使用这个库可以构建我们想要的数据表,并且可以连接并操作指定的数据库。2.连接数据库使用flask-sqlalchemy连接不同的数据库操作是不同的,这里介绍连接sqlite与MySQL的方法1.连接sqlite的方法:sqlite:///...

2018-08-25 21:36:15 1418 1

原创 flask-uploads文件上传

1.flask-uploadsflask-uploads扩展库极大的优化了文件上传的操作,使用非常方便,不需要自己再写原生的上传文件的代码。下面我们通过上传图片文件,并将图片文件展示到页面上来了解flask-uploads这个扩展库的作用2.通过flask-uploads上传图片(1)准备工作,安装flask-uploadspip install flask-uploads...

2018-08-25 20:23:52 2819

原创 flask--flask-bootstrap与表单

1.flask-bootstrap(1)安装flask-bootstrappip install flask-bootstrap(2)flask-bootstrap简单使用创建bootstrap对象并初始化,构造简单的路由跟视图函数from flask import Flask,render_templatefrom flask_bootstrap import Boots...

2018-08-22 23:06:41 1855

原创 flask入门学习

 1.安装flaskpip install flask2.flask的使用(1)创建应用实例# 导入类库from flask import Flask,request,make_response,redirect,url_for,abortfrom flask_script import Manager# 创建应用实例app = Flask(__name__)(...

2018-08-21 22:51:05 297

原创 对Django学习阶段的总结

        Django是一个开放源代码的web应用框架,它是一个基于M(Model)V(View)C(Controller)构造的框架,但是Django更关注的是M(Model)V(View)T(Templates),即模型,视图,模板。模型(Model)就是用来与数据库打交道,处理与数据相关的所有事务,模型中定义的一个类,相当于数据库中的一张数据表,类中定义的不同的属性,对应的是这张数据表...

2018-08-18 15:23:55 1429 1

原创 django不使用restframework自定义接口与使用restframework的区别

    django可以使用restframework快速开发接口,返回前端所需要的json数据,但是有时候利用restframework开发的接口并不能满足所有的需求,这时候就需要自己手动开发接口,也就是将需要用到的某些对象转化为需要使用的json数据,今天记录一下django自己定义接口的一种方法与思路     假设我们定义三张数据表,分别是问卷,问题,选项。一张问卷包含不同的问题,一个问...

2018-08-16 22:06:30 2399

原创 对rest framework序列化serializer官方文档的理解

官方文档地址:http://www.django-rest-framework.org/tutorial/1-serialization/1.什么是序列化       官方定义:串行器允许诸如查询集和模型实例复杂的数据转换为可随后被容易地呈现到机Python数据类型JSON,XML或其他内容类型。序列化程序还提供反序列化,允许在首次验证传入数据后将解析后的数据转换回复杂类型。REST框架中...

2018-08-10 12:00:17 2106 1

原创 MySQL配置主从同步主从复制

1.MySQL主从基本介绍        MySQL内建的复制功能是构建大型,高性能应用程序的基础。可以方便的实现数据的多处自动备份,实现数据库的拓展。复制过程中一个服务器充当主服务器,一个或多个其他服务器充当从服务器。主服务器将更新写入二进制日志,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化...

2018-07-28 14:35:03 456

原创 Ubuntu安装Pyenv,Python,Virtualenv

      pyenv这个工具可以用来管理我们的Python版本,在以后的工作中可能会用到不同的python版本,pyenv可以实现不同python版本之间的切换,既方便又快捷,今天就记录一下Ubuntu上安装pyenv,python与virtualenv的安装过程。1.安装pyenv安装pyenv需要用到两个工具,vim跟curl。如果没有安装的小伙伴可以用下面两条命令安装sudo ...

2018-07-20 21:57:50 1773

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除