zoukankan      html  css  js  c++  java
  • Scrapy框架的安装及使用

    步骤1、环境准备

      右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令 打开终端。

      通过【cd /home】切换到home目录下。【ls】查看该目录下的所有内容。

    图1 切换目录

      【mkdir scrapy】在home目录下创建scrapy文件夹。

    图2 创建文件夹

    步骤2、Scrapy安装

      【pip install scrapy】安装爬虫框架Scrapy,(该框架虚拟机已安装,无需执行,制作参考)

    图3 安装Scrapy

      【Scrapy】已安装成功,版本为1.5

    图4 验证Scrapy

    步骤3、Scrapy操作

      在开始爬取之前,必须创建一个新的scrapy项目

      【cd scrapy】切换至scrapy的目录

      【scrapy startproject movie】创建scrapy项目,名为movie.

    图5 创建Scrapy项目

      【tree】查看项目结构

      scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)

      items.py 设置数据存储模板,用于结构化数据,如:Django的Model

      pipelines 数据处理行为,如:一般结构化的数据持久化

      settings.py 配置文件,如:递归的层数、并发数,延迟下载等

      spiders 爬虫目录,如:创建文件,编写爬虫规则

    图6 项目结构

      定义要抓取的数据

      Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。

      【vim item.py】编辑item文件。

    图7 数据item

      回车后按【i】进入编辑状态。编辑信息如下。获取电影名字。

    图8 编辑信息

      编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。

      【cd spider】进入spider目录,【vim meiju.py】回车后创建并编辑meiju文件。

    图9 创建Python文件

      回车后按【i】进入编辑状态,编辑如下信息。

      Spider是用户编写用于从单个网站(或者一些网站)爬取数据的类。

      其包含了一个用于下载的初始URL,如何跟进网页中的链接以及如何分析页面中的内容, 提取生成 item 的方法。

      为了创建一个Spider,您必须继承 scrapy.Spider 类,且定义以下三个属性:

      name: 用于区别Spider。 该名字必须是唯一的,您不可以为不同的Spider设定相同的名字。

      start_urls: 包含了Spider在启动时进行爬取的url列表。 因此,第一个被获取到的页面将是其中之一。 后续的URL则从初始的URL获取到的数据中提取。

      parse() 是spider的一个方法。 被调用时,每个初始URL完成下载后生成的 Response 对象将会作为唯一的参数传递给该函数。 该方法负责解析返回的数据(response data),提取数据(生成item)以及生成需要进一步处理的URL的 Request 对象。

    图10 编辑Python文件

      【cd ../..】切换项目的目录。【scrapy crawl meiju】运行该项目

    图11 运行Scrapy项目

      根据打印的信息判断请求成功。

    图12 信息打印

      在浏览器中输入URL,根据判断得知。

      【//ul[@class=”top-list fn-clear”]/li】所有的电影信息

      【./h5/a/@title】电影的名称

    图13 分析URL

      再次编辑meiju文件。

    图14 编辑Python文件

      修改程序如下。通过选择器(Selectors)用XPath来提取数据

    图15 选择器

      编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。

      【cd ..】切换上级目录。

      【vim settings.py】编辑文件,设置下载的数量。

    图16 编辑settings.py文件

      回车后按【i】进入编辑状态。编辑信息如下。获取电影名字。(只需在文件中找到该行,取消掉注释修改大小即可,)

    图17 编辑文件

      编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。

      【vim pipelines.py】编辑pipelines.py文件。

    图18 编辑pipelines文件

      回车后按【i】进入编辑状态。编辑信息如下。将电影名字数据写入txt文件中。

    图19 数据写入

      编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框。

      【cd ..】切换至上级目录。

      【scrapy crawl meiju】运行项目进行爬取

    图20 运行Scrapy项目

      【ls】查看该目录下生成一个movies.txt文件。

      【cat movies.txt】爬取到前100个电影名字。

    图21 查看运行效果
  • 相关阅读:
    网页性能分析
    vue学习图解
    px-em-rem单位转换
    呼啦圈(keyframes和transform结合)
    菜单栏鼠标经过伸缩效果
    携程transform放大效果
    浮动布局demo
    倒圆角艺术
    伪类分类
    ingress-nginx 添加https证书
  • 原文地址:https://www.cnblogs.com/yu-1104/p/9050441.html
Copyright © 2011-2022 走看看