1.创建项目

新建存放项目的文件夹scrapyproject,并黑窗口cd到该文件夹下:

创建项目

scrapy startproject 项目名称

PyCharm打开项目:

创建一个爬虫:打开Terminal执行如下【限制域只能是域名,不能含有http前缀】

scrapy genspider 爬虫名称 要爬取的限制域

执行完毕后,在spiders文件夹下会有一个基础爬虫文件

2.调试爬虫

根路径下新建文件main.py,内容如下:【修改一下爬虫名称】

from scrapy.cmdline import execute
import os
import sysif __name__ == '__main__':sys.path.append(os.path.dirname(os.path.abspath(__file__)))execute(['scrapy', 'crawl', '爬虫名称'])

3.启动爬虫

启动main.py即可启动爬虫程序。

4.默认启动参数

Setting初始化只定义了四个参数,其他都是注释掉的。

5.其他启动参数

# Scrapy settings for testscrapy project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://docs.scrapy.org/en/latest/topics/settings.html
#     https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://docs.scrapy.org/en/latest/topics/spider-middleware.htmlBOT_NAME = 'testscrapy'  # 爬虫名称,爬取的时候user-agent默认就是这个名字SPIDER_MODULES = ['testscrapy.spiders']  # 爬虫模块
NEWSPIDER_MODULE = 'testscrapy.spiders'  # 爬虫模块# Crawl responsibly by identifying yourself (and your website) on the user-agent
# USER_AGENT = 'testscrapy (+http://www.yourdomain.com)'# Obey robots.txt rules
ROBOTSTXT_OBEY = True  # 是否遵守网站爬虫协议,当设置为False时,就代表,无论此网站让我不让我爬,我都要爬。# Configure maximum concurrent requests performed by Scrapy (default: 16)
# CONCURRENT_REQUESTS = 32  # 并发请求数,如果对方没有做反爬虫机制,就可以开很大的并发,这样就可以一下子返回很多的数据# Configure a delay for requests for the same website (default: 0)
# See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
# DOWNLOAD_DELAY = 3  # 下载延迟秒数(下载速度),限制频繁访问,防止被封号,不给别人的网站造成太大的压力
# The download delay setting will honor only one of:
# CONCURRENT_REQUESTS_PER_DOMAIN = 16  # 针对每个域名限制 n 个并发,最大为 16
# CONCURRENT_REQUESTS_PER_IP = 16  # 单IP访问的并发数,如果有值则忽略,对域名并发树的限制,并且下载速度也应用在每个IP,因为一个域名可以有很多个IP,公司可以有很多个服务器,对外部来说只有一个域名# Disable cookies (enabled by default)
# COOKIES_ENABLED = False  # 返回的 response 是否解析 cookies# Disable Telnet Console (enabled by default)
# TELNETCONSOLE_ENABLED = False  # 通过Telnet 可以监听当前爬虫的状态、信息、操作爬虫等,使用方法是:打开cmd,使用 telent 127.0.0.1 6023 以及est() ,即可进入操作界面# Override the default request headers:
# DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
# } # 默认的请求头,每个请求都可以携带,如果针对每个请求头设置,也可以在此界面进行设置# Enable or disable spider middlewares
# See https://docs.scrapy.org/en/latest/topics/spider-middleware.html
# SPIDER_MIDDLEWARES = {
#    'testscrapy.middlewares.TestscrapySpiderMiddleware': 543,
# } # 爬虫中间件# Enable or disable downloader middlewares
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html
# DOWNLOADER_MIDDLEWARES = {
#    'testscrapy.middlewares.TestscrapyDownloaderMiddleware': 543,
# } # 下载中间件# Enable or disable extensions
# See https://docs.scrapy.org/en/latest/topics/extensions.html
# EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
# } # 其他扩展# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
# ITEM_PIPELINES = {
#    'testscrapy.pipelines.TestscrapyPipeline': 300,
# } # 自定义PIPELINES处理请求,主要为了存储数据使用,每行后面的整型值,确定了他们运行的顺序,item按数字从低到高的顺序,通过pipeline,通常将这些数字定义在0-1000范围内# Enable and configure the AutoThrottle extension (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/autothrottle.html
# AUTOTHROTTLE_ENABLED = True
# The initial download delay
# AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
# AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
# AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
# AUTOTHROTTLE_DEBUG = False# Enable and configure HTTP caching (disabled by default)
# See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
# HTTPCACHE_ENABLED = True
# HTTPCACHE_EXPIRATION_SECS = 0
# HTTPCACHE_DIR = 'httpcache'
# HTTPCACHE_IGNORE_HTTP_CODES = []
# HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

6.创建虚拟环境

这是setuptools 版本过高setuptools-61.2.0;而你当前的pycharm版本不支持导致;删除刚刚虚拟环境;

如果不想升级pycharm的话,我们可以使用命令来创建:

python  -m venv 虚拟环境名称

7.创建虚拟环境后,需要在虚拟环境中安装一下Scrapy。

pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple

Scrapy第三(②)篇:创建scrapy项目相关推荐

  1. Python爬虫基础:安装Scrapy爬虫框架和创建Scrapy爬虫项目

    首先为了避免国外镜像不稳定,我们使用了清华大学的python库镜像:https://pypi.tuna.tsinghua.edu.cn/simple 1.安装scrapy 1.1.安装pywin32( ...

  2. 【Vue】Vue2创建移动端项目实战教程,创建移动端项目保姆级教程,接上一篇创建Vue2项目(下)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.创建vue2项目 二.移动端适配 1.安装插件flexible (适配移动端) 2.安装 postcss-pxto ...

  3. 小白爬虫scrapy第三篇

    在你的spiders目录下创建自己第一个爬虫项目,我我这儿命名为AiquerSpider.py 然后编辑文件 # !/usr/bin/python # -*- coding: UTF-8 -*- im ...

  4. scrapy mysql 多线程,爬虫进阶之Scrapy(三) 使用scrapy某新闻网并存到数据库

    本节我们通过爬取一个新闻网站的新闻来介绍scrapy的pipeline,以及如何在pipeline中将爬取到的数据写入到数据库中. 首先是我们要爬取的内容是 https://www.chinanews ...

  5. Android Studio开发第二篇创建新项目

    创建新项目很简单,File-New-New Project,这个没什么好说的跟Eclipse都差不都. 第二步SDK选择,有手机平板还有Wear,TV,汽车Auto,谷歌眼镜等几个种平台,这里就先选择 ...

  6. Scrapy爬虫-win7下创建运行项目

    开始的时候,我只安装了python3.5,安装不了scrapy库,网上搜了一下说是scrapy不支持python3.x 然后,我就又安装了python2.7 为了,默认使用2.7,我在环境变量path ...

  7. python应用:爬虫框架Scrapy系统学习第三篇——初识scrapy

    scrapy的最通用的爬虫流程:UR2IM U:URL R2:Request 以及 Response I:Item M:More URL 在scrapy shell中打开服务器一个网页 cmd中执行: ...

  8. 环境搭建|第三篇:apache2+tomcat项目部署

    1. 简介 最近由于项目需要,对apache与tomcat进行整合进行了学习,现将学习记录如下,方便自己以后查阅,同时也方便有需要的同学做为参考. 2.环境要求 系统 ubutun 18.04 toc ...

  9. PhotoshopCS5 第三篇 创建选区

    1.认识选区 使用选取创建形状图形:在创建选区后通过填充等操作,可以将选取转换为形状图形:创建选取-填充选取 对选取中的内容进行编辑:选取所需图像的轮廓,对其中的图像进行移动,复制,裁剪和调整颜色等编 ...

最新文章

  1. js基础知识温习:Javascript中如何模拟私有方法
  2. iOS FMDB之FMDatabaseQueue(事物与非事物)
  3. WebService 与 DCOM / Corba 是什么关系?
  4. 隔离级别(未提交读、提交读、可重复读、可串行化)、多版本并发控制、Next-Key Locks(Record Locks、Gap Locks)
  5. 如何给SAP云平台的账号分配Leonardo机器学习服务的实例
  6. 美丽又实用的欧拉螺线,数学界当之无愧的画家!
  7. python rpa库_Automagica python RPA库实践
  8. 简单防止通过执行存储过程攻击服务器
  9. SQL Server中 char与varchar
  10. android 图片墙拼贴,三步搞定 用APP打造图片文字拼贴效果
  11. idea中git回退远程仓库版本
  12. 论文笔记_S2D.35-2017-IROS_利用CNNs联合预测RGB图像的深度、法线和表面曲率
  13. 基于visual c++之windows核心编程代码分析(35)实践NT服务的框架
  14. No application encryption key has been specified laravel
  15. Almeida–Pineda algorithm
  16. CAD删除Entity的所有XData(ResultBuffer)信息,C# .NET
  17. 在Windows XP中为Android 4.0设备安装MTP驱动程序
  18. mysql中拼接字符串
  19. 多层感知机(MLP)
  20. 常用的一些子域名,旁站等查询网站

热门文章

  1. iOS开发常用三方库、插件、知名博客
  2. 一些常用的mysql语句实例-以后照写2
  3. java判断南北纬度的分界线_中国地理之南北分界线标志园,就在江苏淮安,是南是北一看便知...
  4. Hdu 5804 Price List【水题】
  5. Python|自制二维码生成器
  6. Zabbix 通过shell脚本监控PostgreSQL
  7. ERP、APS、MES 三者之间的关系是什么?
  8. 车载以太网 > 百兆100BaseT1转TX盒子拆解(包含3类产品)
  9. PostgreSQL执行计划
  10. OSI模型 四层发现-nmap(诸神之眼)工具介绍