scrapy

作者: 阿尔卑斯_ | 来源:发表于2021-08-03 15:37 被阅读0次

一、安装&基础命令

#安装:
pip install scrapy

创建项目:
scrapy startproject 项目名
# 进入项目目录下创建爬虫:
scrapy genspider 爬虫名

查看爬虫:
scrapy list

运行爬虫:
scrapy crawl 爬虫名

运行爬虫后自动生成文件:
scrapy crawl 爬虫名 -o 文件名.csv  (支持 'json', 'jsonlines', 'jl', 'csv', 'xml', 'marshal', 'pickle')

三、基础使用

爬取 学校大全 的 学校名 和 地址 并输出到 csv文件中

1、创建项目

scrapy startproject scrapydemo

2、cd进入到项目中,创建爬虫

scrapy genspider spidername

3、在创建的spidername.py文件中编辑内容

import scrapy
# 导入在items中写好的类
from Scyapydemo.items import TestspiderItem
import time

# 编写爬虫
class RunoobSpider(scrapy.Spider):
    name = 'spidername'  # 文件名
    allowed_domains = ['ruyile.com'] # 允许访问的网址
    start_urls = ['https://www.ruyile.com/xuexiao/?a=44&t=2'] # 开始访问的网址

    def parse(self, response):
        try:
            course = TestspiderItem() # 实例化一个Item数据对象
            # 获取class为"sk"的节点
            courseInfos = response.xpath('//div[@class="sk"]')
            # 遍历节点
            for courseInfo in courseInfos:
                # 根据需求提取指定数据并存入Item的对象中
                course['SchoolName'] = courseInfo.xpath('.//h4/a/text()').extract_first()
                course['a_Province'] = "北京"
                course['b_City'] = "北京"
                course['c_District'] = "海淀"
                course['d_Address'] = courseInfo.xpath('.//text()[2]').extract_first()
                # time.sleep(1)
                yield course

                # 判断是否存在下一页
                next_page = response.xpath('//div[@class="fy"]/a[7]/@href').extract_first()  # 取出来下一页的链接
                # 判断是否存在内容
                if next_page is not None:
                    next_page = response.urljoin(next_page)
                    yield scrapy.Request(next_page, callback=self.parse)
        except Exception as err:
            print('出现异常' + str(err))

4、在item文件中定义结构化数据字段,用于保存爬取的数据

import scrapy
class TestspiderItem(scrapy.Item):
    SchoolName = scrapy.Field() #学校名
    a_Province = scrapy.Field() #省
    b_City = scrapy.Field()  # 市
    c_District = scrapy.Field()  # 区
    d_Address = scrapy.Field() # 地址

5、运行爬虫并保存csv文件

scrapy crawl spidername -o school.csv

相关文章

  • 简单 Scrapy 使用小结

    Scrapy 安装Scrapy pip install scrapy Scrapy Doc 查看Scrapy的文档...

  • scrapy框架

    一、scrapy简介 二、scrapy原理 三、scrapy工作流程 四、scrapy框架的创建 五、scrapy...

  • Scrapy笔记

    Scrapy笔记 安装scrapy框架: 安装scrapy:通过pip install scrapy即可安装。 如...

  • scrapy笔记

    1 scrapy的运行原理 参考:Learning Scrapy笔记(三)- Scrapy基础Scrapy爬虫入门...

  • Scrapy基础(一): 安装和使用

    安装 新建scrapy项目 目录 scrapy模板 使用pycharm调试scrapy执行流程 scrapy 终端...

  • python爬虫13:scrapy

    scrapy的结构 scrapy的工作原理 scrapy的用法

  • Scrapy笔记

    Scrapy笔记 pip 指定源安装模块 创建Scrapy项目 创建Scrapy爬虫程序 启动Scrapy爬虫 在...

  • PyCharm运行和调试Scrapy

    前言: PyCharm运行和调试Scrapy,首先需要安装Scrapy,安装Scrapy请点链接Scrapy的安装...

  • 11- Scrapy-Redis分布式

    Scrapy和Scrapy-Redis的区别 安装Scrapy-Redis Scrapy-Redis介绍 提供了下...

  • scrapy框架基本使用

    scrapy基本介绍 scrapy VS requests Mac安装 conda install scrapy ...

网友评论

      本文标题:scrapy

      本文链接:https://www.haomeiwen.com/subject/gvlevltx.html