scrapy 爬虫之简单使用

安装好了scrapy爬虫框架后(安装步骤见上一篇博客),开始简单的使用。

1、scrapy 命令行工具的使用

scrapy的一个强大之处是命令行工具,在命令行下输入:

scrapy -h 

如图:

常用的命令行工具有:crawl 启动爬虫,list 列出当前项目下的所有爬虫,shell 进入爬虫命令行,startproject 新建爬虫项目。

2、scrapy 新建爬虫项目

使用命令行,输入scrapy startproject exam1,结果如下图:

进入到exam1目录,生成的目录结构如下图:

1)、其中scrapy.cfg,为爬虫部署文件,需配合scrapyd一起使用。

2)、items.py 为数据结构定义文件,定义结构化的数据模板,相当于django 里的models

3)、middlewares.py 为中间件文件,可自定义下载、存储等中间件,是scrapy扩展性强大的体现之一

4)、pipelines.py 为数据处理文件,如数据过滤、持久化处理等。

5)、settings.py 爬虫配置文件,可设置的项很多,如代理、爬取速度、数量、日志、编码等。 

3、爬虫代码的编写

spiders子目录是编写爬虫代码要用到的目录,所有的爬虫代码都写在此子目录下。在spiders目录下新建BaiDuSpider.py文件,来简单的爬取百度的主页。现在目录结构如下:

在BaiDuSpider.py中输入以下代码:

import scrapy


class BaiDu_Spider(scrapy.Spider):
    """docstring for SpiderJSscrapy.Spider"
    """
    # spider 的name,每个新建的spider都必须有一个name,此变量是唯一需要定位的实例属性,
    name = "spiderBD"
    # 允许爬取的域名,若为空则表示爬取所有网址,无限制
    allowed_domains = ["www.baidu.com"]
    # 起始url,爬取的起始点,爬虫开始爬取的入口
    start_urls = ["http://www.baidu.com"]

    # 构造函数
    def __init__(self, *arg, **args):
        super(BaiDu_Spider, self).__init__()

    # 爬取方法
    def parse(self, response):
        self.logger.info(f"response is:{response.text}")

4、测试爬虫

在命令行中测试上图编写的简单访问百度首页的爬虫代码。打开命令行输入以下命令:

scrapy crawl spiderBD

可以看到以下输出:

可以看到已经爬取到了百度首页的html内容。前面的过程只是简单的体验了一下scrapy爬虫爬取网页的过程。涉及到的DOM元素定位、中间件的使用、User-Agent的设置、数据统一化、持久化等内容后面进一步讲解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值