crawlspider案例
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案例相关推荐
- 网络爬虫--22.【CrawlSpider实战】实现微信小程序社区爬虫
文章目录 一. CrawlSpider 二. CrawlSpider案例 1. 目录结构 2. wxapp_spider.py 3. items.py 4. pipelines.py 5. setti ...
- 爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战
From:https://piaosanlang.gitbooks.io/spiders/content/ scrapy-cookbook :https://scrapy-cookbook.readt ...
- Scrapy爬虫框架视频学习
文章目录 Scrapy爬虫框架 1. 框架架构 1.1 Scrapy框架介绍 1.2 Scrapy架构图 1.3 Scrapy框架模块功能 1.4 Scrapy的运作流程(容易理解的介绍) 2. Sc ...
- Day537538539540541.scrapy爬虫框架 -python
scrapy爬虫框架 一.scrapy scrapy是什么? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 安 ...
- 爬虫(21)crawlspider讲解古诗文案例补充+小程序社区案例+汽车之家案例+scrapy内置的下载文件的方法
文章目录 第十九章 crawlspider讲解 1. 古诗文案例crawlspider 1.1 需求 1.2 处理 1.3 解析 2. 小程序社区案例 2.1 创建项目 2.2 项目配置 2.3 解析 ...
- 爬取汽车之家图片 - scrapy - crawlspider - python爬虫案例
爬取汽车之家图片 需求:爬取汽车之家某一个汽车的图片 一. 普通scrapy 第一步 页面分析 目标url: https://car.autohome.com.cn/photolist/serie ...
- 有缘网分布式爬虫案例2
有缘网分布式爬虫案例: 修改 spiders/youyuan.py 在spiders目录下增加youyuan.py文件编写我们的爬虫,使其具有分布式: # -*- coding:utf-8 -*-fr ...
- 有缘网分布式爬虫案例
有缘网分布式爬虫案例 # clone github scrapy-redis源码文件 git clone https://github.com/rolando/scrapy-redis.git# 直接 ...
- python爬取微信小程序源代码_【实战】CrawlSpider实现微信小程序社区爬虫
概述: 在人工智能来临的今天,数据显得格外重要.在互联网的浩瀚大海洋中,隐藏着无穷的数据和信息.因此学习网络爬虫是在今天立足的一项必备技能.本路线专门针对想要从事Python网络爬虫的同学而准备的,并 ...
最新文章
- Django-C006-第三方
- Shell脚本[运算表达式,条件控制语句]
- java 多线程的使用_Java的多线程1:线程的使用
- 通过键盘上下键 JS事件,控制候选词的选择项
- 推荐阅读20100708
- 视频+课件| 视觉引导系列课程-绪论
- iconfont采坑
- ubuntu 使用xdotool 用键盘代替鼠标左键
- 服务器硬盘gpt,硬盘采用GPT分区非常重要
- 基于Golang设计一套微服务架构[转]
- 【韧性设计】节流模式
- OpenCV数字图像处理基于C++:灰度变换
- C语言 计算cosx的近似值
- 鸡年的年度编程语言,非它莫属
- HDCP@SKE交互
- git push的时候报错:error: src refspec xxxxx does not match any. 错误原因和解决方法
- EXTJS教程(2)
- php 基于soap什么协议,网络协议 20 - RPC 协议(上)- 基于XML的SOAP协议
- 【Solidity】零基础入门Solidity编写智能合约代码
- HDU 1804 Deli Deli
热门文章
- 越南人口近亿,国土仅有中国的三十分之一,为何还有大米出口呢?
- 如何在网页中嵌入pdf
- redis java 队列_Redis 队列 Java调用简单实现
- 台达DVP系列PLC与台达DTA温控器modbus通讯案例功能:采用台达DVP ES型号PLC,对台达DTA温控器通过485方式,modbus协议,进行温度的设定
- 一对一直播源码全套开源,二次开发有保障!
- SpringBoot充电桩平台
- python图像处理(图像缩放)
- 图片标签,内联框架 css简介
- 解决直接打开 vite +vue3 打包的 HTML 文件报错跨域 from origin ‘null‘ has been blocked by CORS policy
- elasticsearch-7.x使用xpack进行安全认证