创建scrapy项目,运行,保存数据的详细过程

1.scrapy常用的几个语句

scrapy startproject   项目名

scrapy genspider     爬虫名 域名

scrapy crawl            爬虫名

2.创建scrapy项目步骤

 2.1先配置scrapy框架,操作语句:pip install scrapy

  2.2先打开windows+r,输入cmd,在scrapyproject目录下创建项目

       创建项目语句:scrapy startproject myfirstProject

 2.3在pycharm中打开scrapy项目

 2.3编写一个简单的爬虫爬取数据(比如爬取起点中文网小说畅销排行榜单_起点小说畅销排行-起点中文网

     2.3.1先创建一个.py文件

        cd  myfirstProject  

        scrapy genspider first_spider www.first_spider.com 

 

  2.3.2 对spdier项目的配置文件进行修改,打开文件settings.py   

BOT_NAME:项目名

USER_AGENT:索要爬取网站的USER_AGENT

ROBOTSTXT_OBEY:是否遵循机器人协议,默认是true,需要改为false,否则很多东西爬不了

    修改前:

修改后:

  2.3.3编写代码:

import scrapy
class FirstSpiderSpider(scrapy.Spider):
    name = 'first_spider'
    start_urls = ["https://www.qidian.com/rank/hotsales?style=1"]

    def parse(self, response):
        print('爬虫开始工作'.center(88, '-'))
        list_selector = response.xpath("//div[@class='book-mid-info']")
        list = []
        for one_selector in list_selector:
            name = one_selector.xpath("h4/a/text()").extract()[0]
            author = one_selector.xpath("p[1]/a[1]/text()").extract()[0]
            type = one_selector.xpath("p[1]/a[2]/text()").extract()[0]
            fr = one_selector.xpath("p[1]/span/text()").extract()[0]
            hot_dict = {
                "姓名": name,
                "作者": author,
                "类型": type,
                "获取方式": fr
            }
            print(hot_dict)
            list.append(hot_dict)
        return list

 运行:

      指令:scrapy crawl first_spider

注意:下面两个方框里的名称一定一样,否则报错

 

 运行结果如图:

2.3.4 如果不想在终端显示数据,可以放在4种文档中保存数据

保存数据方法可以分为4种:-o输出指定格式文件,命令如下
json格式,默认为unicode编码:scrapy crawl itcast -o teachers.json
json lines格式,默认为unicode编码:scrapy crawl itcast -o teachers.jsonl
csv格式,逗号表达式可以用excel打开:scrapy crawl itcast -o teachers.csv
xml格式:scrapy crawl itcast -o teachers.xml

 在pycharm查看结果

 

3.总结:

   创建scrapy项目:scrapy startproject + 项目名

  创建.py文件: scrapy genspider 文件名 www.文件名.com 

  运行代码 : scrapy crawl + name

  保存数据 :   scrapy crawl + name+ -o 文件名.csv(-o前有空格)

 

  • 11
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值