Scrapy笔记: 一 安装:

  1. pip3 install wheel

    1. pip3 install lxml

      1. pip3 install pyopenssl

      2. pip3 install -i https://mirrors.aliyun.com/pypi/simple/ pypiwin32

      3. 下载文件(twisted): https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted pip3 install 文件路径\Twisted-19.2.0-cp36-cp36m-win_amd64.whl 6.pip3 install scrapy 7.scrapy 测试安装是否成功 Scrapy 1.6.0 - no active project ...

二 scrapy命令 全局(所有路径下都可以使用): bench Run quick benchmark test fetch Fetch a URL using the Scrapy downloader

      # 会把爬虫程序创建在当前目录下
    genspider     Generate new spider using pre-defined templates

    # 可以在当前目录下启动爬虫程序
    runspider     Run a self-contained spider (without creating a project)

    runspider 爬虫程序的绝对路径

    settings     Get settings values
    shell         Interactive scraping console

    # 创建scrapy项目
    startproject Create new project
    version       Print Scrapy version
    view

局部(在scrapy项目中可以使用):
    bench         Run quick benchmark test
    # 监测语法
    check         Check spider contracts
    # 根据爬虫程序的name 启动爬虫程序
    crawl         Run a spider

    # !!!!!!!重点使用它!!!!!!!
    scrapy crawl name

    edit         Edit spider
    fetch         Fetch a URL using the Scrapy downloader
    genspider     Generate new spider using pre-defined templates
    # 查看所有的爬虫程序
    list         List available spiders

    parse         Parse URL (using its spider) and print the results

    runspider     Run a self-contained spider (without creating a project)

    settings     Get settings values
    shell         Interactive scraping console
    startproject Create new project
    version       Print Scrapy version
    view         Open URL in browser, as seen by Scrapy

三 创建scrapy项目 Django: # 创建项目 django-admin startproject P1 cd P1

    # 创建实例
  python3 manage.py app01
  python3 manage.py bbs
Scrapy:
  # 创建项目
  scrapy startproject spider_project
  cd spider_project

  # 创建爬虫程序
  scrapy genspider chouti chouti.com

  # 执行爬虫程序
  scrapy crawl chouti

  # 取消日志
  scrapy crawl --nolog chouti

settings:
  # 不遵循反爬协议
  ROBOTSTXT_OBEY = False
main.py
  from scrapy.cmdline import execute
  # execute(['scrapy', 'crawl', 'baidu'])
  execute("scrapy crawl --nolog chouti".split(' '))
main.py
  from scrapy.cmdline import execute
  # execute(['scrapy', 'crawl', 'baidu'])
  execute("scrapy crawl --nolog chouti".split(' '))
Spiders.chouti.py

  class ChoutiSpider(scrapy.Spider):
      def parse(self, response):
      def parse_user_index(self, response):
items.py
  # 新闻items类
  class SpiderNewListItem(scrapy.Item):
      # define the fields for your item here like:
      # 新闻链接
      new_url = scrapy.Field()
      # 新闻文本
      new_text = scrapy.Field()
      # 点赞数
      nice_num = scrapy.Field()
      # 新闻ID
      new_id = scrapy.Field()
      # 评论数
      commit_num = scrapy.Field()
      # 新闻详情
      new_content = scrapy.Field()
      # 发表新闻用户的主页
      user_link = scrapy.Field()
    # 新闻items类
  class SpiderUserListItem(scrapy.Item):
      # define the fields for your item here like:
      # 新闻链接
      new_url = scrapy.Field()
      # 新闻文本
      new_text = scrapy.Field()
      # 点赞数
      nice_num = scrapy.Field()
      # 新闻ID
      new_id = scrapy.Field()
      # 评论数
      commit_num = scrapy.Field()
      # 新闻详情
      new_content = scrapy.Field()
      # 用户名
      user_name = scrapy.Field()

pipelines.py

  class SpiderNewListPipeline(object):
      def __init__(self, ip, port, mongo_db):
          self.ip = ip
          self.port = port
          self.mongo_db = mongo_db
    # 必须配置才可以启动ITEM_PIPELINES
  ITEM_PIPELINES = {
      'spider_project.pipelines.SpiderNewListPipeline': 300,
      'spider_project.pipelines.SpiderUserListPipeline': 301,
  }

  # MongoDB配置信息
  IP = 'localhost'
  PORT = 27017
  DB = 'chouti'

浅谈scrapy框架安装使用的更多相关文章

  1. Python爬虫进阶三之Scrapy框架安装配置

    初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 ...

  2. Python爬虫进阶之Scrapy框架安装配置

    Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此 ...

  3. 手撸ORM浅谈ORM框架之基础篇

    好奇害死猫 一直觉得ORM框架好用.功能强大集众多优点于一身,当然ORM并非完美无缺,任何事物优缺点并存!我曾一度认为以为使用了ORM框架根本不需要关注Sql语句如何执行的,更不用关心优化的问题!!! ...

  4. 手撸ORM浅谈ORM框架之Add篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  5. 手撸ORM浅谈ORM框架之Update篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  6. 手撸ORM浅谈ORM框架之Delete篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  7. 手撸ORM浅谈ORM框架之Query篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  8. Scrapy 框架 安装 五大核心组件 settings 配置 管道存储

    scrapy 框架的使用 博客: https://www.cnblogs.com/bobo-zhang/p/10561617.html 安装: pip install wheel 下载 Twisted ...

  9. Scrapy 框架 安装

    Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...

随机推荐

  1. SSH小应用

    1:Spring整合Hibernate <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hi ...

  2. sqlserver2008锁表语句详解(锁定数据库一个表)

    锁定数据库的一个表 复制代码代码如下: SELECT * FROM table WITH (HOLDLOCK) 注意: 锁定数据库的一个表的区别 复制代码代码如下: SELECT * FROM tab ...

  3. 使用C#实现网站用户登录

    我们在写灌水机器人.抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录.那么怎么用C#来模拟一个用户的登录拉?要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的.H ...

  4. python 操作yaml文件

    yaml 5.1版后弃用了yaml.load(file)这个用法,因为觉得很不安全,5.1版后就修改了需要指定Loader,通过默认加载​​器(FullLoader)禁止执行任意函数yaml 5.1之 ...

  5. C#正则表达式将html代码中的所有img标签提取

    /// <summary> /// 取得HTML中所有图片的 URL. /// </summary> /// <param name="sHtmlText&qu ...

  6. identityserver4踩坑总结

    1.在配置id4服务端的时候要注意client里面的 AllowedScopes开放的值要和GetIdentityResources中加入的值是一样的,不然调用以后报{"error" ...

  7. selenium2-java 浏览器的三种弹窗处理

    alert弹窗 confirm弹窗 prompt弹窗 点击确定         // 选取警告弹窗           Alert alert=driver.switchTo().alert();   ...

  8. leetcode-解题记录 1108. IP 地址无效化

    题目: 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本. 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 ".". ...

  9. 笔记大神推荐的个人知识文档管理工具mybase

    铛铛铛,今天我要给大家推荐一款个人知识笔记管理神器,不出你们所料,它就是mybase. 那mybase究竟能干啥呢?借用mybase中文官网的一句话来说,mybase软件可以将电脑上的文档.知识.笔记 ...

  10. 循环神经网络(RNN)入门介绍

    循环神经⽹络是为更好地处理时序信息而设计的.它引⼊状态变量来存储过去的信息,并⽤其与当前的输⼊共同决定当前的输出.循环神经⽹络常⽤于处理序列数据,如⼀段⽂字或声⾳.购物或观影的顺序,甚⾄是图像中的⼀⾏ ...