python 爬虫中的crawlspider案例(以下载读书网数据为列)
利用scrapy中带的管道存储数据

一.打开``命令行

注意:运行scrapy的项目时需要在venv的目录下创建(我自己尝试的是,在其他地方无法调用一些库,个人所测是)

scrapy startproject  scrapy_dushuwang_3    #创建项目
cd \scrapy_dushuwang_3\scrapy_dushuwang_3\spiders    #跳转到spiders路径
scrapy genspider -t crawl du  https://www.dushu.com/book/1158.html  #创建爬虫类

2.进入pycharm中开始编写代码
(1)打开创建的du.py
修改以下部分

allowed_domains = ['www.dushu.com']
start_urls = ['https://www.dushu.com/book/1158_1.html']   #删除html后的\,之所以在1158后加_1,要指定好第一页的链接,以防漏掉
rules = {Rule(LinkExtractor(allow=r'/book/1158_\d+\.html'),callback='parse_item',follow=False),

增加代码

def parse_item(self,response):img_list = response.xpath('//div[@class="bookslist"]//img')for img in img_list:name = img.xpath('./@alt').extract_first()src = img.xpath('./@data-original').extract_first()book = ScrapyDushuwang3Ttem(name=name,src=src)    #需到items.py中查看括号前一部分内容yield book


3.进入到pipelines.py中
添加代码

def open_spider(self,spider):self.fp = open('book.json','w',encoding='utf-8')def process_item(self,item,spider):self.fp.write(str(item))return itemdef close_spider(self,spider):self.fp.close()


4.在settings.py中打开item

6.测试
在cmd中运行

scrapy crawl du

会在项目中多出一个json文件


快捷键 ctrl+alt+L:将文件格式转换成json形式

不足:下载的内容不全,有一些none,网页用了懒加载,有src和data-original两种格式,代码有data-original的可是没有加上src的,尝试过,虽然没有了none,可是数据不全,还在思考中,先记录下这一部分内容。慢慢解决

crawlspider案例相关推荐

  1. 网络爬虫--22.【CrawlSpider实战】实现微信小程序社区爬虫

    文章目录 一. CrawlSpider 二. CrawlSpider案例 1. 目录结构 2. wxapp_spider.py 3. items.py 4. pipelines.py 5. setti ...

  2. 爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战

    From:https://piaosanlang.gitbooks.io/spiders/content/ scrapy-cookbook :https://scrapy-cookbook.readt ...

  3. Scrapy爬虫框架视频学习

    文章目录 Scrapy爬虫框架 1. 框架架构 1.1 Scrapy框架介绍 1.2 Scrapy架构图 1.3 Scrapy框架模块功能 1.4 Scrapy的运作流程(容易理解的介绍) 2. Sc ...

  4. Day537538539540541.scrapy爬虫框架 -python

    scrapy爬虫框架 一.scrapy scrapy是什么? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 安 ...

  5. 爬虫(21)crawlspider讲解古诗文案例补充+小程序社区案例+汽车之家案例+scrapy内置的下载文件的方法

    文章目录 第十九章 crawlspider讲解 1. 古诗文案例crawlspider 1.1 需求 1.2 处理 1.3 解析 2. 小程序社区案例 2.1 创建项目 2.2 项目配置 2.3 解析 ...

  6. 爬取汽车之家图片 - scrapy - crawlspider - python爬虫案例

    爬取汽车之家图片 需求:爬取汽车之家某一个汽车的图片 ​ 一. 普通scrapy 第一步 页面分析 目标url: https://car.autohome.com.cn/photolist/serie ...

  7. 有缘网分布式爬虫案例2

    有缘网分布式爬虫案例: 修改 spiders/youyuan.py 在spiders目录下增加youyuan.py文件编写我们的爬虫,使其具有分布式: # -*- coding:utf-8 -*-fr ...

  8. 有缘网分布式爬虫案例

    有缘网分布式爬虫案例 # clone github scrapy-redis源码文件 git clone https://github.com/rolando/scrapy-redis.git# 直接 ...

  9. python爬取微信小程序源代码_【实战】CrawlSpider实现微信小程序社区爬虫

    概述: 在人工智能来临的今天,数据显得格外重要.在互联网的浩瀚大海洋中,隐藏着无穷的数据和信息.因此学习网络爬虫是在今天立足的一项必备技能.本路线专门针对想要从事Python网络爬虫的同学而准备的,并 ...

最新文章

  1. Django-C006-第三方
  2. Shell脚本[运算表达式,条件控制语句]
  3. java 多线程的使用_Java的多线程1:线程的使用
  4. 通过键盘上下键 JS事件,控制候选词的选择项
  5. 推荐阅读20100708
  6. 视频+课件| 视觉引导系列课程-绪论
  7. iconfont采坑
  8. ubuntu 使用xdotool 用键盘代替鼠标左键
  9. 服务器硬盘gpt,硬盘采用GPT分区非常重要
  10. 基于Golang设计一套微服务架构[转]
  11. 【韧性设计】节流模式
  12. OpenCV数字图像处理基于C++:灰度变换
  13. C语言 计算cosx的近似值
  14. 鸡年的年度编程语言,非它莫属
  15. HDCP@SKE交互
  16. git push的时候报错:error: src refspec xxxxx does not match any. 错误原因和解决方法
  17. EXTJS教程(2)
  18. php 基于soap什么协议,网络协议 20 - RPC 协议(上)- 基于XML的SOAP协议
  19. 【Solidity】零基础入门Solidity编写智能合约代码
  20. HDU 1804 Deli Deli

热门文章

  1. 越南人口近亿,国土仅有中国的三十分之一,为何还有大米出口呢?
  2. 如何在网页中嵌入pdf
  3. redis java 队列_Redis 队列 Java调用简单实现
  4. 台达DVP系列PLC与台达DTA温控器modbus通讯案例功能:采用台达DVP ES型号PLC,对台达DTA温控器通过485方式,modbus协议,进行温度的设定
  5. 一对一直播源码全套开源,二次开发有保障!
  6. SpringBoot充电桩平台
  7. python图像处理(图像缩放)
  8. 图片标签,内联框架 css简介
  9. 解决直接打开 vite +vue3 打包的 HTML 文件报错跨域 from origin ‘null‘ has been blocked by CORS policy
  10. elasticsearch-7.x使用xpack进行安全认证