• 寒假大数据学习笔记九


      今天开始学习scrapy,对于scrapy我的理解是这样的:假如把我以前写的Python爬虫比作无门无派的散人,scrapy就是名门正派出来的弟子,它提供了一个爬虫框架,这个框架可以完成大多数的爬虫需求,下面就是演示图(摘自百度):

    1、下载scrapy

      linux:(sudo)pip install scrapy,可以把所有scrapy相关的依赖全部下载上。

      Windows:只要有pip,命令同上,但最后还需要下载一个pypiwin32(如果报错ModuleNotFoundError:No module named win32api),同样使用pip下载。

    2、创建scrapy项目

      这是很麻烦的一步,因为pycharm没法创建scrapy项目,所以无论是Windows还是linux都需要使用命令创建,可以使用命令scrapy查看所有的scrapy可使用命令。

       scrapy genspider [项目名] [网站域名] ,切换到想创建项目的的位置,输入以上命令即可。这里我推荐使用pycharm的Terminal,因为它的默认显示的路径就是在你目前项目的路径下,所以直接用Terminal直接输入命令即可。网站域名直接输入www.后面的就可以了,例如填写baidu.com即可,因为scrapy会负责填写上http之类的前缀协议。网站域名起到的作用是限制范围,将爬虫限制到想要爬取的域名之下,不至于出现爬的爬的就跑丢的情况。

    3、创建爬虫

      进入创建的scrapy项目中,输入 scrapy crawl [爬虫名] ,就可以得到如下Python文件:

    # -*- coding: utf-8 -*-
    import scrapy
    
    
    class GzbdSpider(scrapy.Spider):
        name = 'gzbd'
        allowed_domains = ['nhc.gov.cn']
        start_urls = ['http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml']
    
        def parse(self, response):
            pass

      name是刚才输入的爬虫名字,名字必须唯一,因为名字是scrapy识别爬虫的唯一代码,避免出现同一scrapy项目下scrapy无法识别用户想要运行哪个爬虫的尴尬问题。同时,上述代码自己打也是没有问题的,不仅如此,连同整个scrapy项目也是一样,手动创建文件夹,文件也是可以的,只要规格和名字与用命令创建的一样就行。

     

  • 相关阅读:
    创建和发送事件
    (实战)为系统类添加NameValueTable属性,并且添加到相关对话框
    使用GetUniqueIndentifier为某类对象连续编码
    中秋小感
    数据库中取随机数的方法讨论
    CVS添加用户的过程和命令列表
    Mysql中获取刚插入的自增长id的三种方法归纳
    关于Action重复执行两遍的原因
    td内容空的时候,如何显示边框线
    2003下 tomcat 连mysql问题的解决
  • 原文地址:https://www.cnblogs.com/YXSZ/p/12284743.html
Copyright © 2020-2023  润新知