scrapy的使用

  
      <李> scrapy的安装使用李   <李> scrapy架构李   <李>爬虫概念流程李   <李> scrapy项目开发流程李   <李> scrapy常用设置李   
  <人力资源/>   
      <李> scrapy的安装使用
    scrapy的基本使用资料网站:https://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/shell.html   
        <李>本文使用环境配置:这个主题+ pycharm + python3.7李   <李>在安装scrapy过程中遇到了比较多的坑,scrapy基于扭开发,直接安装scrapy无法安装,提示pip版本问题以及各种错误,pip安装,升级pip升级,安装你——祝辞pyOpenSSL——在扭曲——祝辞scrapy由于源是国外的站点,可能访问失败,下载过程也比较慢,推荐直接访问官方网站直接把.whl包直接下载下来,通过终端安装更便捷。运行过程还需要win32api,直接安装pypiwin32李   <李>使用命令李   李
      
  
 <代码> 1。在终端输入scrapy命令可以查看可用命令
  用法:
  scrapy & lt; command>[选项][arg游戏)
  可用命令:
  台运行快速的基准测试
  拿取使用Scrapy下载一个URL
  genspider生成新的蜘蛛使用预定义的模板
  runspider运行一个独立的蜘蛛(没有创建一个项目)
  设置被设置值
  shell交互刮控制台
  startproject创建新项目
  版本打印Scrapy版本
  在浏览器视图中打开URL,因为被Scrapy  
  
      <李>   

    scrapy架构   

        <李>架构图
       scrapy的使用“> <br/>各组件功能:<br/> ?Scrapy引擎(引擎):负责SpiderDownloader,时间表,ItemPipeline之间通信,信号,数据传递等。<br/> ? Scgeduler:负责接收引擎发送过来的请求请求,并按照一定的方法进行整理排列,入队,当引擎需要时交还给引擎。<br/> ?下载器负责下载引擎发送过来的所有请求,并将其获取到的反应交还给Scrapy引擎,有引擎交还给蜘蛛处理。<br/> ?蜘蛛:负责处理所有响应,从中分析提取数据,获取项字段需要的数据,并将需要跟进的URL提交给引擎,再次进入时间表。<br/> ? ItemPipeline:负责处理蜘蛛中获取到的条目,并进行后期处理(详细分析,过滤,存储等)<br/> ? DownloaderMiddlewares:当作是一个可以自定义扩展下载功能的组件<br/> ? SpiderMiddlewares:自定扩展和操作引擎和蜘蛛中间通信的功能组件(比如进入蜘蛛的反应,和从蜘蛛出去的请求)</李>
  </ul>
  李</>
  <李>
  <p>爬虫概念流程<br/>概念:亦可以称为网络蜘蛛或网络机器人,是一个模拟浏览器请求网站行为的程序,可以自动请求网页,把数据抓取下来,然后使用一定规则提取有价值的数据。<br/>基本流程:<br/> ? <强>发起请求——祝辞获取响应内容,在解析内容,在保存处理</强> </p>
  李</>
  <李> scrapy项目开发流程<br/> 1。建立项目scrapy startproject xxx <br/> 2。编写item.py:明确想要抓取的信息<br/> 3。直至爬虫(spider.py) <br/> 4。存储内容(pipeline.py)
  <ul>
  <李>爬取豆瓣电影信息:<br/> 1。创建项目后祝辞scrapy startproject tuorial,会创建一个目录并生产相关配置文件。<br/> <img src= ?进程scrapy。蜘蛛类,里面的方法可以覆盖。

        
       <代码>进口scrapy
        从. .项目导入DoubanItem
        类DoubanSpider (scrapy.Spider):
        name=' douban_mv '
        allowed_domains=(“movie.douban.com”)
        start_urls=(“https://movie.douban.com/top250”)
        def解析(自我,反应):
        movie_list=response.xpath ("//div [@class='文章']//ol李[@class=' grid_view ']////div [@class='物品']”)
        在movie_list电影:
        项=DoubanItem ()
        项目(“serial_number”)=movie.xpath (’。//div [@class="图片"]/em/text()的).extract_first ()
        项目(“movie_name”)=movie.xpath (’。//div [@class="高清"]//跨度/text ()”) .extract_first ()
        介绍=movie.xpath (’。//div [@class=" bd "]/p/text()的).extract ()
        项目(“介绍”)=";" . join(介绍)。替换(“”).replace (' \ n ',”) .strip (“;”)
        项目(“星”)=movie.xpath (’。//div [@class="明星"]/跨度[@class=" rating_num "]/text()的).extract_first ()
        项目(“核定”)=movie.xpath (’。//div [@class="明星"]/跨度[4]/text () ') .extract_first ()
        项目(“desc)=movie.xpath (’。//p [@class="引用"]/跨度[@class=" inq "]/text()的).extract_first ()
        收益项目
        “下一页”实现翻页操作
        链接=response.xpath('//跨度[@class=跋乱桓觥盷/联系/@href”) .extract_first ()
        如果链接:
        收益率response.follow(链接,回调=self.parse) 

      scrapy的使用