建立第一个SCRAPY的具体过程
1。安装SCRAPY
2。进入CMD:执行:SCRAPY显示:
Scrapy 1.8.0 - no active project
Usage:
scrapy <command> [options] [args]
Available commands:
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)
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
[ more ] More commands available when run from project directory
Use "scrapy <command> -h" to see more info about a command
出现上面的内容则表示SCRAPY安装成功
3。建立放置爬虫的文件夹d:\crapy
4.进入d:\crapy
d:\crapy>
5.建立爬虫项目:scrapy startproject cnblog
New Scrapy project 'cnblog', using template directory 'd:\python\python37\lib\site-packages\scrapy\templates\project', created in:
D:\crapy\cnblog
You can start your first spider with:
cd cnblog
scrapy genspider example example.com
上面的提示表示建立了一个名称叫cnblog的爬虫项目,指明了项目应用的模板及位置:即当前位置下建立了一个与项目同名的文件夹;要想开始爬虫必须进入新建立的文件夹(cnblog)来建立爬虫
6。建立第一个爬虫
D:\crapy>cd cnblog
D:\crapy\cnblog>scrapy genspider cnblog cnblogs.com #指定爬虫名称为cnblogs时出错,提示不能与当前项目同名
Cannot create a spider with the same name as your project
D:\crapy\cnblog>scrapy genspider cnbloga cnblogs.com
Created spider 'cnbloga' using template 'basic' in module
cnblog.spiders.cnbloga
#建立了第一个爬虫名称为“cnbloga",爬取的DOMAIN为“cnblogs.com",只爬取域名内的信息,这是爬取范围限定;并且指定的应用模板为“basic"
7。打开相应的爬虫文件:d:\crapy\cnblog\cnblog\spider\cnbloga.py
# -*- coding: utf-8 -*-
import scrapy class CnblogaSpider(scrapy.Spider):
name = 'cnbloga'
allowed_domains = ['cnblogs.com']
start_urls = ['http://cnblogs.com/'] def parse(self, response):
pass
第一行引用爬虫;声明一个类:Cnblogaspider,继承于scrapy.Spider;爬虫的名称“ cnbloga";爬取的范围'cnblogs.com';开始爬取的网址为http://cnblogs.com/;
默认方法parse,即每得到相应的网址,就交给这个方法来处理;
8。运行爬虫:
d:\crapy\cnblog>scrapy crawl cnbloga#‘cnbloga'为相应的爬虫的名称
建立第一个SCRAPY的具体过程的更多相关文章
- 【Python3爬虫】第一个Scrapy项目
Python版本:3.5 IDE:Pycharm 今天跟着网上的教程做了第一个Scrapy项目,遇到了很多问题,花了很多时间终于解决了== 一.Scrapy终端(scrapy shell) Sc ...
- scrapy(一)建立一个scrapy项目
本项目实现了获取stack overflow的问题,语言使用python,框架scrapy框架,选取mongoDB作为持久化数据库,redis做为数据缓存 项目源码可以参考我的github:https ...
- 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。)
之前做好的asp.net部署后,发现 访问数据库时: 异常:已捕获: "已成功与服务器建立连接,但是在登录过程中发生错误. (provider: SSL Provider, error: 0 ...
- .NET Core微服务之路:利用DotNetty实现一个简单的通信过程
上一篇我们已经全面的介绍过<基于gRPC服务发现与服务治理的方案>,我们先复习一下RPC的调用过程(笔者会在这一节的几篇文章中反复的强调这个过程调用方案),看下图
- 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁
20135311傅冬菁 分析Linux内核创建一个新进程的过程 一.学习内容 进程控制块——PCB task_struct数据结构 PCB task_struct中包含: 进程状态.进程打开的文件. ...
- Linux内核分析-分析Linux内核创建一个新进程的过程
作者:江军 ID:fuchen1994 实验题目:分析Linux内核创建一个新进程的过程 阅读理解task_struct数据结构http://codelab.shiyanlou.com/xref/li ...
- sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233) 然后再连接:错误:18456
问题:sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误.(provider:命名管道提供程序,error:0-管道的另一端上无任何进程.)(Microsoft S ...
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
- linux内核分析作业6:分析Linux内核创建一个新进程的过程
task_struct结构: struct task_struct { volatile long state;进程状态 void *stack; 堆栈 pid_t pid; 进程标识符 u ...
随机推荐
- Go语言的函数06---闭包函数
package main import "fmt" /* 李逵和武松的Study方法的逻辑是几乎一模一样的 然而为了分别保存两人的学习进度,需要开辟两个全局变量,函数内部的需要使用 ...
- 熬夜讲解vue3组合API中setup、 ref、reactive的用法
1.初识setUp的使用 简单介绍下面的代码功能: 使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上. setUp函数是组合API的入口函数.这个是非常重要的. setUp可以去监听变 ...
- Git 快速控制
Git 快速控制 聊聊学习 Git 那些事 现在回想起来,其实接触 Git 的时候是在大一的时候表哥带入门的.当时因为需要做一个项目,所以他教如何使用 Git 将写好的代码推送到 GitHub 上,然 ...
- ADAS车辆在行人安全方面得分很低
ADAS车辆在行人安全方面得分很低 ADAS vehicles score poorly on pedestrian safety 对于热衷于自动驾驶汽车(AV)的狂热者来说,一个现在病毒性的视频片段 ...
- python应用_异常处理
我们把可能发生错误的语句放在try模块里,用except来处理异常. 参考学习链接: https://www.cnblogs.com/OliverQin/p/12222619.html 异常处理的完整 ...
- python路径写入注册表,导入三方模块win32
python在安装第三方模块时候,需要将python的路径写入注册表,否则会提示 'python version 3.8-32 required,which was not found in the ...
- 基于SKLearn的SVM模型垃圾邮件分类——代码实现及优化
一. 前言 由于最近有一个邮件分类的工作需要完成,研究了一下基于SVM的垃圾邮件分类模型.参照这位作者的思路(https://blog.csdn.net/qq_40186809/article/det ...
- parted(分区工具)
要支持大容量(18EB),需改用 gpt 分区模式可以有128个主分区 [root@server0 /]# lsblk [root@server0 /]# parted /dev/vdb (part ...
- 【NX二次开发】Block UI 标签/位图
属性说明: 常规 类型 描述 BlockID String 控件ID Enable Logical 是否可操作 Group Logica ...
- Linux系统命令login的翻译
LOGIN(1) 用户命令 LOGIN(1)名称 login - ...