参考链接:http://essun.blog.51cto.com/721033/1703367

一、有个很重要的事情就是更新源

http://www.codesec.net/view/195997.html

二、首先要安装libffi-devel,直接用安装包安装,因为网上的那些配置文件上面的链接都是虚的,基本不能用(坑死哥了)

https://sourceware.org/libffi/ 

点击sourceware.org下载,拷贝到centos下直接解压安装。

tar -vxfz libffi-3.2.1.tar.gz

cd /libffi-3.2.1

./configure(因为新手,刚开始没找到make/make install,后面才知道要先执行这个文件就会产生make/make install)

make

make install

到这里libffi算是安装完了。

三、如果系统中安装有audit这个包请先移除,它会影响到Scrapy的安装

1
#yum remove audit

四、安装Scarpy 所需要的开发包python-devel openssl-devel libxslt-devel libxml2-devel

在另一篇安装微信爬虫-centos7有安装过了,这里就在讲了。网络上的那些直接用yum安装的基本上都不靠谱。

五、安装pip与setuptools---https://my.oschina.net/clgo/blog/657209

1
2
3
#yum install python-pip -y(在安装微信爬虫-centos7讲过了)
#pip install  setuptools
#pip install setuptools --upgrade
#sudo pip install --upgrade pysn1(自己加了一步,不加一直提示出错)

六、安装Scrapy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# pip install Scrapy
Collecting Scrapy
  Using cached Scrapy-1.0.3-py2-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): cssselect>=0.9 in /usr/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): queuelib in /usr/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /usr/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): w3lib>=1.8.0 in /usr/lib/python2.7/site-packages (from Scrapy)
Collecting lxml (from Scrapy)
  Using cached lxml-3.4.4.tar.gz
Collecting Twisted>=10.0.0 (from Scrapy)
  Using cached Twisted-15.4.0.tar.bz2
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /usr/lib/python2.7/site-packages (from Scrapy)
Collecting service-identity (from Scrapy)
  Using cached service_identity-14.0.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): cryptography>=0.7 in /usr/lib64/python2.7/site-packages (from pyOpenSSL->Scrapy)
Collecting zope.interface>=3.6.0 (from Twisted>=10.0.0->Scrapy)
  Using cached zope.interface-4.1.3.tar.gz
Collecting characteristic>=14.0.0 (from service-identity->Scrapy)
  Using cached characteristic-14.3.0-py2.py3-none-any.whl
Collecting pyasn1-modules (from service-identity->Scrapy)
  Using cached pyasn1_modules-0.0.8-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /usr/lib/python2.7/site-packages (from service-identity->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): idna>=2.0 in /usr/lib/python2.7/site-packages (from cryptography>=0.7->pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/site-packages (from cryptography>=0.7->pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): enum34 in /usr/lib/python2.7/site-packages (from cryptography>=0.7->pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): ipaddress in /usr/lib/python2.7/site-packages (from cryptography>=0.7->pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): cffi>=1.1.0 in /usr/lib64/python2.7/site-packages (from cryptography>=0.7->pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/lib/python2.7/site-packages (from cffi>=1.1.0->cryptography>=0.7->pyOpenSSL->Scrapy)
Installing collected packages: lxml, zope.interface, Twisted, characteristic, pyasn1-modules, service-identity, Scrapy
  Running setup.py install for lxml
  Running setup.py install for zope.interface
  Running setup.py install for Twisted
Successfully installed Scrapy-1.0.3 Twisted-15.4.0 characteristic-14.3.0 lxml-3.4.4 pyasn1-modules-0.0.8 service-identity-14.0.0 zope.interface-4.1.3

七、创建项目

1
2
3
4
5
6
7
8
9
10
[root@localhost workspace]# scrapy startproject dmoz
2015-10-15 21:54:24 [scrapy] INFO: Scrapy 1.0.3 started (bot: scrapybot)
2015-10-15 21:54:24 [scrapy] INFO: Optional features available: ssl, http11
2015-10-15 21:54:24 [scrapy] INFO: Overridden settings: {}
New Scrapy project 'dmoz' created in:
    /workspace/tutorial
You can start your first spider with:
    cd tutorial
    scrapy genspider example example.com

八、目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost workspace]# tree
.
└── tutorial
    ├── scrapy.cfg
    └── tutorial
        ├── __init__.py
        ├── items.py
        ├── pipelines.py
        ├── settings.py
        └── spiders
            └── __init__.py
3 directories, 6 files

以下参考链接为:http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.html

九、定义Item

Items是将要装载抓取的数据的容器,它工作方式像python里面的字典,但它提供更多的保护,比如对未定义的字段填充以防止拼写错误。

它通过创建一个scrapy.item.Item类来声明,定义它的属性为scrpy.item.Field对象,就像是一个对象关系映射(ORM). 
我们通过将需要的item模型化,来控制从dmoz.org获得的站点数据,比如我们要获得站点的名字,url和网站描述,我们定义这三种属性的域。要做到这点,我们编辑在tutorial目录下的items.py文件,我们的Item类将会是这样

# -*- coding: utf-8 -*-
from scrapy.item import Item,Fieldclass DomzItem(Item):title = Field()link = Field()desc = Field()# define the fields for your item here like:# name = scrapy.Field()

八、第一个爬虫(Spider)

Spider是用户编写的类,用于从一个域(或域组)中抓取信息。

他们定义了用于下载的URL的初步列表,如何跟踪链接,以及如何来解析这些网页的内容用于提取items。

要建立一个Spider,你必须为scrapy.spider.BaseSpider创建一个子类,并确定三个主要的、强制的属性:

  • name:爬虫的识别名,它必须是唯一的,在不同的爬虫中你必须定义不同的名字.
  • start_urls:爬虫开始爬的一个URL列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些URLS开始。其他子URL将会从这些起始URL中继承性生成。
  • parse():爬虫的方法,调用时候传入从每一个URL传回的Response对象作为参数,response将会是parse方法的唯一的一个参数,

这个方法负责解析返回的数据、匹配抓取的数据(解析为item)并跟踪更多的URL。

这是我们的第一只爬虫的代码,将其命名为dmoz_spider.py并保存在tutorial\spiders目录下。

from scrapy.spider import BaseSpiderfrom scrapy.spider import BaseSpiderclass DmozSpider(BaseSpider):name = "dmoz"allowed_domains = ["dmoz.org"]start_urls = [
    "http://news.sohu.com/20161120/n473657485.shtml"    
    ]def parse(self, response):filename = response.url.split("/")[-2]open(filename, 'wb').write(response.body)

八、执行

为了让我们的爬虫工作,我们返回项目主目录执行以下命令

#scrapy crawl dmoz

这时候就会生成类似网页的的.com文件,加上后缀.html就可以直接用centos里面的火狐浏览器打开。

这时候可能手机微信上面的链接无法获取,把settings.py的ROBOTSTXT_OBEY = True改成ROBOTSTXT_OBEY = False。

基本完成。

Centos7 下Scrapy安装过程相关推荐

  1. Centos7+mysql57+python3安装过程中踩过的坑

    Centos7+mysql57+python3安装过程中踩过的坑 说明: 为了练习Django项目,准备在虚拟机中安装Centos7+mysql57+python3.在windows环境下通过Navi ...

  2. CentOS7下编译安装libmodbus库

    CentOS7下编译安装libmodbus库 下载libdmodbus源代码 编译安装lidmodbus 测试 参考资料 下载libdmodbus源代码 libmodbus官网下载页面如下图所示: 可 ...

  3. CentOS-7 下 GitLab 安装部署教程

    CentOS-7 下 GitLab 安装部署教程 前言 主要内容 GitLab 介绍 本篇环境信息 准备工作 配置清华大学镜像仓库 安装基础依赖 安装 Postfix 开放 ssh 以及 http 服 ...

  4. centos72安装mysql配置密码_MySQL数据库之170419、Centos7下完美安装并配置mysql5.6

    本文主要向大家介绍了MySQL数据库之170419.Centos7下完美安装并配置mysql5.6 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. linxu环境: centos ...

  5. linux7安装pgsql数据库,CentOS7下PostgreSQL安装

    环境:CentOS 7 版本:postgresql11 安装repo源 yum install https://download.postgresql.org/pub/repos/yum/reporp ...

  6. oracle中job的retry次数,有大佬帮忙看下我安装过程中到底出啥问题了么..

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有大佬帮忙看下我安装过程中到底出啥问题了么.. 之前说我监听不对,我调了下.监听米问题了, 但是现在还是提示我"插件执行方法失败.." ...

  7. 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6

    在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...

  8. Hive入门教程<2> | hive在centos7下的安装部署

    hive在centos7下的安装部署 前提 安装hive hadoop集群配置 hive基本操作 演示向hive中导入本地数据文件 前提 1.首先有自己的远程终端登录工具,我这里用的是mobaxter ...

  9. ADS1.2在Win10下的安装过程和初步使用

    ADS1.2在Win10下的安装过程及初步使用 ADS1.2安装过程 双击setup.exe安装 一路Next/Yes下去 注意选择安装路径 安装类型选择typical 之后同样一路Next/Yes下 ...

最新文章

  1. 百度燎原计划2018强势回归 开放深度学习工程师评价标准
  2. 非法ip通过ssh成功登录,自动结束会话
  3. 武汉锅检所检测机器人_管道检测机器人---此CCTV非彼CCTV
  4. fossid安装教程_如何在一个 U 盘上安装多个 Linux 发行版
  5. 云炬随笔20211012(3)
  6. win10+tensorflow CPU 部署CTPN环境
  7. 数学建模及其算法概述
  8. 你得学会并且学得会的Socket编程基础知识(转)
  9. 深入理解SpringBoot(4)——web开发
  10. web前端知识(04html的表单)
  11. 用 Python 写一个 Kaggle 比赛排行榜的爬虫
  12. [转载] 【python】str与json类型转换
  13. Awesome-Windows
  14. 用python把视频转换为图片
  15. 投资理财入门笔记【不定期更新编辑】
  16. 机器视觉实验一(matlab实现)
  17. 服务器无线桥接怎么设置,路由器怎么设置桥接方法 2个路由器无线桥接设置图解...
  18. vertica基本常用sql
  19. 反向代理为何叫反向代理?
  20. linux集显驱动程序,Ubuntu14.04安装intel集显驱动

热门文章

  1. 第二十章 Caché 命令大全 QUIT 命令
  2. SQL Server 开发指南
  3. NPOI之Excel-设置单元格背景色-色表
  4. NNDL 实验七 循环神经网络(2)梯度爆炸实验
  5. error C3867:非标准语法;请使用“”来创建指向成员的指针
  6. CentOS7 中 Docker-ce 安装配置 MyCat-Web 监控 MyCat状态
  7. 重装Win7系统步骤【系统天地】
  8. 最具影响力的机器人公司
  9. BA-业务架构_优化“价值主张画布”,助力企业数字化赋能
  10. Java建造者模式(Builder pattern)