Scrapy - 普通的Spider(二) XMLFeedSpider这个Spider是用于解析XML的,它可以通过指定的节点迭代的解析XML。迭代器可以选择iternodes,xml或html。由于xml和html都需要一次性读取整个DOM然后才能解析XML,这样会有性能的问题,所以推荐使用iternodes迭代器。但是当解析有错误标记的XML时,使用html迭代器会有些帮助。使用XMLFeedSpider必须定义以下类属性来设置迭代器
Scrapy - 普通的Spider(一) CrawlSpider这个是Spider中爬取一般网站最常用的一种Spider,因为它提供了一种方便的机制可以自定义一套规则去追踪链接。它可能对特殊的网站或项目来说不是最适合的Spider,但是对一般情况来说已经足够了,因此我们可从这种Spider开始学习,然后修改它,或重新写一个自定义的Spider。除了从父类集成来的属性,这个Spider还有特有的属性和方法:rules - 一个Rul
Scrapy - Spiders详解 Spiders是Scrapy中最重要的地方,它定义了如何爬取及解析数据,可以说Spiders是Scrapy框架中的核心所在。对Spiders来说,一般工作的步骤如下:根据初始的URLs生成Requests对象并指定处理requests对象response的回调方法。初始的URLs是由spider的start_urls属性指定的,然后默认调用start_requests方法生成对应的
Scrapy - 命令行工具 Scrapy是由scrapy命令行工具来控制的,它的命令行工具为多种用途提供了一些不同的命令,每一个命令都有不同的参数和选项。一些Scrapy命令必须在Scrapy项目目录下执行,另一些可以在任何目录下执行。而那些可以在任何目录下执行的命令,如果在Scrapy项目目录下执行可能会有些不同。Scrapy命令执行环境Global commandsProject-only
Scrapy - 简要指南 创建项目开始爬取数据之前,你必须先创建一个Scrapy项目。进入你想将项目代码保存的目录,并执行以下代码MacBook-Pro:scrapy $ scrapy startproject projectname这会创建一个以projectname命名的文件夹,文件夹中包括一个部署配置文件scrapy.cfg和一个项目的python模块(以projectname命名的另一个文件
GIT - 基本使用命令 一. 获取GIT仓库有两种方法可以获取GIT工程项目:1. 将一个已经存在的工程或目录导入到git2. 克隆一个已经存在的git仓库1. 初始化一个已经存在的工程(目录)cd到工程的根目录,使用命令git init将其初始化MacBook-Pro:~ $ cd ~/Project/my_repository/MacBook-Pro:my_repository $ gi
GIT - 安装、设置和帮助 一. 安装使用brew安装GITMacBook-Pro:~ $ brew install gitUpdating Homebrew...==> Auto-updated Homebrew!Updated 1 tap (homebrew/core).==> New Formulaeakamai dep
Python三神器之virtualenv&virtualenvwrapper virtualenv是一个用于创建独立Python环境的工具,可以解决多项目之间依赖库版本不一致的问题,每个虚拟环境都是一个独立的Python环境,可以安装只属于这个环境的库。virtualenvwrapper是virtualenv的一个扩展工具,它可以是我们在使用、管理虚拟环境时更简便、易用。一. 安装1. 安装virtualenv[root@localhost bin]#
CentOS7安装Python3 一. Linux默认安装的python版本都是2,安装python3需要先安装相关包1. gcc[root@localhost ~]# yum install gccLoaded plugins: fastestmirror, langpacksbase
CentOS7设置固定IP IP地址的设置一般是指设置某个网卡端口的IP,所以想设置IP,首先需要弄清楚是要为哪个网卡端口设置IP,CentOS7与一般的Linux系统一样,可以通过ifconfig命令查询当前的网络设置。由上图可知我的系统目前是使用网卡enp0s3访问Internet的,我们要设置的就是enp0s3的IP地址。弄清楚要设置IP的对象后,需要到etc/sysconfig/network-scr
iTerm2 + VIM配色(Solarized) 一. iTerm2中选择配色iTerm2中的配色是在Preferences中的Profiles下设置的,如图所示的下拉列表中第一部分提供的是自带的一些配色,第二部分则是自导入的配色,第三部分则是相关的一些功能,这里直接选择自带的Solarized Dark。ITerm2配色完成后的效果如下图二. VIM配色1. 将下载的solarized配色文件(solarized
MAC Python3&virtualenv&virtualenvwrapper安装 一. 使用Homebrew安装python3RossideMacBook-Pro:~ rossi$ brew install python3二. 使用pip3安装virtualenv和virtualenvwrapperRossideMacBook-Pro:bin rossi$ pip3 install virtualenv virtualenvwrapper
CentOS7下curl使用 curl工具NAMEcurl - transfer a URLSYNOPSIScurl [options] [URL...]DESCRIPTIONcurl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, G
CentOS7下安装Nginx 一. 为Nginx设置yum仓库1. 创建文件/etc/yum.repos.d/nginx.repo,写入以下内容:[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=12. 安装Nginx[r
MYSQL - 计算行数 1. COUNT(*)计算table的行数计算pet表中的动物mysql> select count(*) from pet;+----------+| count(*) |+----------+| 9 |+----------+1 row in set (0.00 sec)mysql>计算每个人有多少宠物mysql>
MYSQL - 模式匹配 MySQL提供标准的SQL模式匹配,可以使用"_"匹配单个字符,%匹配任意数量的字符(包括0个字符)。当使用模式匹配时,用LIKE和NOT LIKE比较操作取代=和查询以"b"开头的名字的宠物mysql> select * from pet where name like 'b%';+--------+--------+---------+------+------------+-
MYSQL - NULL 1. 测试NULL值,使用IS NULL和IS NOT NULL操作mysql> select 1 is null, 1 is not null;+-----------+---------------+| 1 is null | 1 is not null |+-----------+---------------+| 0 | 1
MySQL - 日期计算 1. TIMESTAMPDIFF() - 返回两个日期或日期表达式的差语法:TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)返回datetime_expr2 - datetime_expr1, datetime_expr2和datetime_expr1是日期或日期时间表达式。一个表达式datetime_expr1可能是日期而另一个d
Maven Assembly Plugin - 将依赖包,模块,文件集和单独的文件打包输出 Maven项目中一般只会将项目的源代码编译分发,而依赖包等都不会被包括在这个范围内,即项目的最终输出不会包含依赖包、模块等项目运行时所必须的包和文件。如果想在分发的包中包含这些依赖包和模块,需要使用maven assembly plugin。Maven Assembly Plugin的使用很简单,只需在pom.xml中添加如下配置 build> finalName>restfin
MySQL - 从表中查询数据信息 SELECT语句是SQL中用来查询表中数据的语句。其基本的语法格式:SELECT what_to_selectFROM which_tableWHERE conditions_to_satisfy;what_to_select指明你想查看什么,可以是表中的列组成的列表或用*表示表中所有的列。which_table指明你想从哪个表中查询数据。where子句是可选的,如果有wher