- 博客(22)
- 资源 (13)
- 问答 (1)
- 收藏
- 关注
翻译 Scrapy框架(六)——Middleware
Middleware其实是一个轻量级、较底层的钩子框架,用来全局的去处理相对应的内容。Scrapy中主要有两种Middleware,一种是Downloader Middleware,一种是Spider Middleware。下载中间件下载中间件是scrapy提供用于用于在爬虫过程中可修改Request和Response,用于扩展scrapy的功能;Downloader Middlewa...
2019-03-31 20:34:48 592
原创 Scrapy框架(五)——Selector、Request、Response
选择器(Selector)在parse方法中,我们经常要用到xpath、CSS、re来提取数据。在Scrapy中就为我们封装了这些方法于Selector,而且Selector是基于lxml构建的,这就意味着性能上不会有太大问题。在这里,我就不再重复记录什么是xpath、css、re,在以前博客中,这些都以记载过。下面简单演示下:由于使用Xpath和CSS选择器来提取数据非常...
2019-03-28 00:28:35 1551
原创 Scrapy框架(四)——CrawlSpider
第二篇博客中记载了Spider这个类,那么CrawlSpider是一个继承Spider的一个通用全站爬虫子类,可以用来实现某些特定的功能。这个子类主要是通过一条条rule的限定来提取页面中所有的链接。要实现这个类,我们首先得导包,继承它。可以用命令行的方式来创建这个文件。scrapy genspider -t crawl <name> <domain>from s...
2019-03-27 16:11:39 383
翻译 Python内建函数——isinstance()
这个函数的作用是判断一个对象是否属于某个类型。故其有两个参数。源码说明如下:def isinstance(x, A_tuple): # real signature unknown; restored from __doc__ """ Return whether an object is an instance of a class or of a subclass the...
2019-03-27 14:54:08 376
翻译 Python内置函数——callable
这个函数的功能是用来检测一个对象是否可以被调用,返回一个布尔值。源码中的说明如下:Return whether the object is callable (i.e., some kind of function). Note that classes are callable, as are instances of classes with a __call_...
2019-03-27 14:46:30 258
原创 Scrapy框架(三)——Item
上一篇博客的例子中,提到了parse方法一般会返回一个request对象或item对象。那么这篇博客就记录下item,及处理item的管道pipelines。引入在抓取数据的过程中,主要要做的事就是从杂乱的数据中提取出结构化的数据。Scrapy的Spider可以把数据提取为一个Python中的字典,虽然字典使用起来非常方便,对我们来说也很熟悉,但是字典有一个缺点:缺少固定结构。在一个拥...
2019-03-26 21:22:37 7290
原创 Scrapy框架(二)——Spider
这里我将spiders的意思理解为在项目Spiders目录下创建的各个py文件(除__init__)。它们的作用是负责网页的抓取逻辑,以及数据的解析逻辑。所以Spider是Scrapy爬虫中相对核心的部分。上一篇中已经谈到了如何使用命令行创建该目录下的文件,这篇将针对这个spider,做下更深入的了解。下面是最原始的模板:import scrapyclass DemoSpide...
2019-03-26 20:07:26 764
原创 Scrapy框架(一)——初始Scrapy
Scrapy框架已经自学了大半个月了,今天开始总结下这方面的笔记。这个框架在抓取静态页面上的数据,的确是非常强大。不仅是因为其天生异步,而且里面的逻辑性也非常紧密。没事看看其源码,会使得你对python语法有更深的认识。Scrapy简介Scrapy是一个开源的爬虫框架,目前在Python爬虫领域基本处于一家独大的地位,只要说起Python的开源爬虫框架,那基本指的都是Scrapy。在S...
2019-03-26 17:39:59 658
原创 全书网整本小说爬取
工具:requests模块 beautifulsoup4模块 logging模块 lxml模块主要流程:请求url,返回页面 解析页面,提取数据 保存数据注:在解析上我写了两种不同方式,一种是用Beautifulsoup,另一种是Xpath。源码中的请求头有删改。源码如下:import requestsfrom bs4 import BeautifulSoupi...
2019-03-24 18:51:55 843
原创 python包下载地址
https://www.lfd.uci.edu/~gohlke/pythonlibs/window下载完后,在命令行下pip install 包路径,即可完成安装。
2019-03-22 21:41:03 427
翻译 Django2.0——权限系统Auth
Django默认提供了用户权限管理模块auth,在我们第一次数据库迁移时,他就自动帮我们在数据库中创建三张表:官方文档参考user表,User是auth模块中维护用户信息的表,在数据库中该表被命名为auth_user. 该表继承自Abstractuser. group表,定义用户组模型,该表只包含一个name字段和一个permissions(权限)多对多关系字段,在数据库中被...
2019-03-16 15:39:28 1657 1
翻译 Django2.0——上下文处理器
官方文档参考在settings文件的模板配置中,有着context_processors属性,他的中文翻译叫上下文处理器。这个上下文处理器与视图函数的context类似。他的目的都是给模板传递值,但与context不同的是,context_processors是给所有的模板都同时传值,相当于给每个视图的context字典中都添加了指定的值。context_processors属性值是一个列表,...
2019-03-15 21:42:47 372
翻译 Django2.0——admin基础介绍
官方文档参考Django的强大之处之一就是提供了便利的后台站点,在我们刚开始创建这个项目时,他就将这些配置好了。如果你在创建项目时,没有选择默认的项目模板,你就需要手动做如下操作。添加django.contrib.admin 和它的依赖django.contrib.auth、django.contrib.contenttypes、django.contrib.messages、djang...
2019-03-15 18:53:05 400
转载 Ubuntu16.04更换成国内源
Ubuntu16.04默认是国外的源,这非常容易造成我们下载速度的缓慢。接下来,我们将其更换成国内阿里的源。复制本地源到另一个文件 更换源 更新源 shell脚本复制本地源到另一个文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.old更换源用vim打开sources.list文件,将里面的内容换成下面。de...
2019-03-15 13:29:44 10922
转载 ubuntu16.04 创建配置虚拟环境
工具:pip环境:Ubuntu16.04步骤:安装 配置 基本用法安装sudo pip install virtualenv sudo pip install virtualenvwrapper也可以自己指定安装源:sudo pip3 install -i https://pypi.douban.com/simple virtualenvsudo pip...
2019-03-14 13:02:34 619
翻译 Django2.1——模型表单
官方文档参考初识从model中创建一个form不需要像前面那么麻烦,一个一个字段去定义。如下所示:>>> from django.forms import ModelForm>>> from myapp.models import Article# Create the form class.>>> class Artic...
2019-03-13 20:57:08 761
转载 Ubuntu下apt的用法
Ubuntu下底层的包管理命令是dpkg,我们常用的是基于这个命令下发行版的PMS工具apt或aptitude。这里主要讲解下apt的用法。 apt的相关文件 /etc/apt/sources.list 设置软件包的获取来源 /etc/apt/apt.conf apt配置文件 /etc/apt/apt.conf.d/ apt的零碎配置文件 /etc/apt/...
2019-03-13 15:26:19 9593
翻译 Django2.1——内置分页器
官方文档参考Python提供了内置分页类,里面封装了一些属性和方法,大大简化了我们自定义的时间和精力,这个类位于django/core/paginator.py。 首先导包: from django.core.paginator import Paginator 例子: >>> from django.core.paginator import P...
2019-03-12 13:12:50 657
原创 Python内置sort、sorted函数
最近看到一道面试题,即将一个字典按其key进行排序。我首先的想法是先利用items方法将key全部取出来,再利用sort方法排序,排序后利用for循环,将各个key对应的value加入到新字典中。我知道我这种笨方法肯定有点想当然,故上网查了下正确思路,做如下总结。针对排序问题,不管是字符串、列表、嵌套列表、对象、字典,python都可以用提供的内置排序函数sort和sorted来实现。...
2019-03-11 19:07:48 1238
转载 Pycharm常用快捷键及个人设置
这里总结下自己在Pycharm常用到的快捷键,并按使用程度进行排序。快捷键 ctrl + / 注释、取消注释行 tab 缩进 shift + tab 反向缩进 ctrl + z 撤销上一步操作 ctrl + y 删除当前行 ctrl + d 未选中时,复制当前行到下一行;选中时,复制粘贴到后面 ctrl + a 选中当...
2019-03-08 19:57:15 672
原创 Django2.1将LANGUAGE_CODE和TIME_ZONE设置为中国区域
Django默认配置是:TIME_ZONE = 'UTC'LANGUAGE_CODE = 'en-us'Django1.9以前应设置为:TIME_ZONE = 'Asia/Shanghai'LANGUAGE_CODE = 'zh-cn'Django1.9以后至目前的2.1,应设置为:LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'As...
2019-03-03 16:09:04 8562 1
原创 Django2.1——自定义模板过滤器及标签详解
学习的过程总是会时不时觉得有点枯燥,虽然做笔记的过程中会让自己的知识架构变得更加清晰,但写的多也会觉得有点无聊,加上文采不是很好,无法将笔记写的深入,参照别人的方式,以后我会时不时的放些养眼的图,化解点枯燥。官方文档参考一、代码布局无论是模板标签还是过滤器,它们的本质还是一个python函数。在构造自定义的过滤器和标签中,首先我们要先了解它们的代码布局,即应该写在哪?代码的布局...
2019-03-02 19:59:39 588 1
opencv3.4 windows64
2020-10-11
kaggle冰山船舶卫星图数据集
2020-08-04
flower_photos.7z
2020-08-01
HCNA认证必备资源——腾讯微云
2020-04-11
云服务器ubuntu配置文件
2019-01-12
直方图修正方法的研究
2019-01-11
图像的基本运算及应用研究
2019-01-11
数字图像处理课设——图形界面设计
2019-01-11
夜间防睡控制器
2019-01-11
急问·python中的函数文档
2017-07-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人