1、引言

Scrapy框架结构清晰,基于twisted的异步架构可以充分利用计算机资源,是做爬虫必备基础,本文将对Scrapy的安装作介绍。

2、安装lxml

2.1  下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted  选择对应python3.5的lxml库

2.2 如果pip的版本过低,先升级pip:

python -m pip install -U pip

2.3 安装lxml库(先将下载的库文件copy到python的安装目录,按住shift键并鼠标右击选择“在此处打开命令窗口”)

pip install lxml-4.1.1-cp35-cp35m-win_amd64.whl

看到出现successfully等字样说明按章成功。

3、 安装Twisted库

3.1 下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted  选择对应python3.5的库文件

3.2 安装

pip install Twisted-17.9.0-cp35-cp35m-win_amd64.whl

看到出现successfully等字样说明按章成功。

Note:部分机器可能安装失败,可以尝试将 Twisted-17.9.0-cp35-cp35m-win_amd64.whl文件移动到  $python/Scripts/   目录下,重新安装。

4、安装Scrapy

twisted库安装成功后,安装scrapy就简单了,在命令提示符窗口直接输入命令:

pip install scrapy

看到出现successfully等字样说明按章成功。

5、Scrapy测试

5.1 新建项目

先新建一个Scrapy爬虫项目,选择python的工作目录(我的是:H:\PycharmProjects   然后安装Shift键并鼠标右键选择“在此处打开命令窗口”),然后输入命令:

scrapy startproject allister

对应目录会生成目录allister文件夹,目录结构如下:

└── allister

├── allister

│ ├── __init__.py

│ ├── items.py

│ ├── pipelines.py

│ ├── settings.py

│ └── spiders

└── scrapy.cfg

简单介绍个文件的作用:

# -----------------------------------------------

scrapy.cfg:项目的配置文件;

allister/ : 项目的python模块,将会从这里引用代码

allister/items.py:项目的items文件

allister/pipelines.py:项目的pipelines文件

allister/settings.py :项目的设置文件

allister/spiders : 存储爬虫的目录

5.2 修改allister/items.py文件:

# -*- coding: utf-8 -*-

# Define here the models for your scraped items

#

# See documentation in:

# https://doc.scrapy.org/en/latest/topics/items.html

import scrapy

class AllisterItem(scrapy.Item):

name = scrapy.Field()

level = scrapy.Field()

info = scrapy.Field()

5.3 编写文件 AllisterSpider.py

# !/usr/bin/env python

# -*- coding: utf-8 -*-

# @File : AllisterSpider.py

# @Author: Allister.Liu

# @Date : 2018/1/18

# @Desc :

import scrapy

from allister.items import AllisterItem

class ItcastSpider(scrapy.Spider):

name = "ic2c"

allowed_domains = ["http://www.itcast.cn"]

start_urls = [

"http://www.itcast.cn/channel/teacher.shtml#ac"

]

def parse(self, response):

items = []

for site in response.xpath('//div[@class="li_txt"]'):

item = AllisterItem()

t_name = site.xpath('h3/text()')

t_level = site.xpath('h4/text()')

t_desc = site.xpath('p/text()')

unicode_teacher_name = t_name.extract_first().strip()

unicode_teacher_level = t_level.extract_first().strip()

unicode_teacher_info = t_desc.extract_first().strip()

item["name"] = unicode_teacher_name

item["level"] = unicode_teacher_level

item["info"] = unicode_teacher_info

yield item

编写完成后复制至项目的 \allister\spiders目录下,cmd选择项目根目录输入以下命令:

scrapy crawl ic2c -o itcast_teachers.json -t json

抓取的数据将以json的格式存储在ic2c_infos.json文件中;

如果出现如下错误请看对应解决办法:

python3.5安装scrapy_Python3.5下安装测试Scrapy相关推荐

  1. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  2. python3.7安装scrapy_Python3.7下scrapy框架的安装

    学习爬虫的时候说到需要安装scrapy框架,然后本人就开始犯难了,怎么都装不好,下面给大家分享一下本人掉过的坑 首先安装考虑用到最简单的办法就是命令安装输入:pip install scrapy 结果 ...

  3. centos7 python3安装numpy_centos 7 下安装numpy、scipy等python包

    本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...

  4. 深度linux安装make,linux下安装python3完整教程(依赖环境gcc,make,cmake,configure等详细解释)...

    前言:python在linux环境下面没有安装包,只支持从源码安装,本文不仅仅会完整的演示安装步骤,还会解释每一步这么做的原因以及一些关键概念的理解,包括什么是make等.本文基于centos7的KD ...

  5. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解 1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译 ...

  6. python3.6.8卸载_CentOS7下安装python3.6.8的教程详解

    由于最近有个任务需要在python环境下跑,项目是python3.6 + tensorflow1.3.1.现总结安装环境: 卸载Python3.6方法: 首先用命令: whereis python 查 ...

  7. python3.5安装教程linux_Linux下安装python3.6和第三方库的教程详解

    Linux下安装Python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! ...

  8. ubuntu终端安装python_Ubuntu linux下安装python3(手动安装)

    之前一直用anaconda,但是anaconda比较大,于是尝试用源代码编译安装了一下,发现还真不容易. 在Ubuntu下手动编译安装python3,遇到不少坑,具体过程如下: 1.下载python源 ...

  9. 压力测试ab安装 linux,Centos8下安装ab压力测试工具及ab命令详解

    释放双眼,带上耳机,听听看~! 1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以 ...

最新文章

  1. Python基础编程——字典的创建
  2. P2048 [NOI2010]超级钢琴
  3. DL框架之darknet:深度学习框架darknet的简介、安装、使用方法的详细攻略
  4. C语言再学习 -- 位、字节、字、字长、字元的关系
  5. 求求你!不要在网上乱拷贝代码了!一段网上找的代码突然炸了,项目出现大BUG...
  6. ubuntu20.04LTS系统的终端terminal透明化设置
  7. 前端学习(1109):函数的调用
  8. Visual Studio Code 显示隐藏的.git文件和目录
  9. coxphfit+matlab,Cox Proportional Hazards Model
  10. 项目设计与范围管理(笔记)
  11. java脚本语言 dim_写给新手windows脚本的入门
  12. 2015-11-30 20:59:08之自力更生
  13. 2020年支持java8的Java反编译工具汇总
  14. VS2017 ReportViewer报表控件及设计器安装方法
  15. wpf自己画表盘_练手WPF(一)——模拟时钟与数字时钟的制作(上)
  16. iOS 横线贯穿文字
  17. Windows装逼操作
  18. 治愈系课程教材 第四课
  19. 7.绘制统计图形——堆积折线图、间断条形图和阶梯图
  20. 【千锋Python2205班9.29笔记-day09-字符串(一阶段)】

热门文章

  1. SpringBoot注解大全(转)
  2. 如何将Pcm格式的音频文件转换成Wave格式的文件
  3. HDU 4414 Finding crosses(搜索)
  4. 黑马训练营自学笔记(03)
  5. 初学ActionScript 3.0(一):Hello World
  6. 在预览fastreport报表之前改变一些报表对象的属性
  7. 了解 Vue SSR 这一篇足以
  8. [Java核心技术(卷I)] - 简易的日历
  9. javascript --- js中的事件
  10. html5 --- canvas绘制网格并画x、y轴