码迷,mamicode.com
首页 > 编程语言 > 详细

Python3.5下安装&测试Scrapy

时间:2018-01-18 22:08:45      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:path   写文件   技术分享   style   awl   抓取   异步   鼠标右键   直接   

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等字样说明按章成功。

 

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  : ItcastSpider.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

            items.append(item)

        return items

  

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

scrapy crawl ic2c -o ic2c_infos.json -t json

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

技术分享图片

 

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

 

Python3.5下安装&测试Scrapy

标签:path   写文件   技术分享   style   awl   抓取   异步   鼠标右键   直接   

原文地址:https://www.cnblogs.com/allister/p/8313097.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!