spider项目创建以及运行

一、创建一个Scrapy项目

1. 创建项目

    scrapy startproject projectname

2. 创建爬虫程序(模板)

    cd movie
    scrapy genspider spidername start_urls

3. 进入项目的根目录,执行命令启动spider

    scrapy crawl spidername

可以将终端的指令写入一个文件main.py中,运行时直接运行main.py文件即可

    from scrapy import cmdline
 
    cmdline.execute("scrapy crawl forum_spider".split())
    # cmdline.execute(["scrapy","crawl","forum_spider"])

文件说明:

  • scrapy.cfg   项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真正爬虫相关的配置信息在settings.py文件中)
  • items.py    设置数据存储模板,用于结构化数据,如:Django的Model
  • pipelines   数据处理行为,如:一般结构化的数据持久化
  • settings.py   配置文件,如:递归的层数、并发数,延迟下载等
  • spiders    爬虫目录,如:创建文件,编写爬虫规则

二、定义提取的 Item

三、编写爬取网站的 spider 并提取Item

四、编写Item Pipeline来存储提取到的Item(数据)

0、()+group()可以提取字符串
1、"^"代表是以什么字符开头
2、"."代表任意字符
3、"*"代表前一字符重复0次或多次
4、"$"代表以什么字符结束
5、"?"代表一种非贪婪匹配模式
6、"+"代表前一字符至少出现一次
7、"|"代表或运算
8、{2}代表前一个数出现两次,{2,}代表两次以上,{2,5}代表2到5次
9、[a,b,c,d]代表只要满足其中任意字符即可,中括号里的上述字符不具有特殊性
10、\s代表出现空格匹配成功,\S代表只要不出现空格匹配成功
11、\w代表[A-Za-z0-9_]其中一个,\W刚好相反
12、[\u4E00-\u9FA5]
13、\d代表匹配数字

在settings.py中设置的pipeline,会被project中的所有爬虫按照优先级默认调用,例如:

    ITEM_PIPELINES = {
        'douban.pipelines.DoubanPipeline': 300,
        'douban.pipelines.movieTop250_crawlspider_json': 200,
        'douban.pipelines.tongcheng_pipeline_json': 100,
    }

当我们”scrapy crawl tongcheng”时,会按照优先级从低到高也就是100、200、300顺序调用pipeline

XPath 语法

scrapy简单入门

scrapy入门教程

你可能感兴趣的:(python3,搜索引擎)