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. android android studio error

    SIMPLE: Error computing //cmake 包含的跨平台头文件或者是源文件路径出错

  2. Angular JS - 3 - Angular JS 双向数据绑定

    一 .数据绑定 1. 数据绑定: 数据从一个地方A转移(传递)到另一个地方B, 而且这个操作由框架来完成2. 双向数据绑定: 数据可以从View(视图层)流向Model(模型,也就是数据), 也可以从 ...

  3. spring+springMVC+mybatis框架整合——配置文件说明

    如下图 web.xml配置说明: spring配置文件说明-1: spring配置文件说明-2: spring配置助记:  扫注(base) 读配(loc) 数据源(和comb(使用c3p0数据源)) ...

  4. Git 中的一些其他常用命令

    1.查看提交的历史版本(git log) 我们可以使用 git log 命令来查看提交的历史版本. 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.每个版本都有 ...

  5. JS基础入门篇(四)—this的使用,模拟单选框,选项卡和复选框

    1.this的使用 this js中的关键字 js内部已经定义好了,可以不声明 直接使用 this的指向问题 1. 在函数外部使用 this指向的是window 2. 在函数内部使用 有名函数 直接调 ...

  6. Eclipse对web项目设置请求路径(与项目名称不同)

    可以在下图位置,进行修改 也可以修改项目的路径下的.settings文件夹下的org.eclipse.wst.common.component的value属性 <property name=&q ...

  7. SQL语句:随机取3条不重复的记录

    随机取3条不重复的记录 [Access]select top 3 * from tablename order by rnd(id); [SqlServer]select top 3 * from t ...

  8. (appium+python)UI自动化_01_自动化环境搭建【MAC版】

    Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...

  9. Bootstrap+Ajax+HTML 动态表格分页

      1.HTML页面:(bootstrap的模态框) 触发模态框: <div class="col-lg-6"> <div class="input-g ...

  10. Ubuntu添加字体

    在字体库下载打包好的字体: 方正字体全库:http://www.downza.cn/soft/8203.html 华文字体:http://www.onlinedown.net/soft/635126. ...