百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

大数据开发神器——scrapy spider框架(代码入门篇)

ccwgpt 2024-09-27 07:28 117 浏览 0 评论

通过以上的分享,我们了解了scrapy框架的流程图以及基本的安装,那么接下来,我们新建一个工程来走入scrapy spider的世界

scrapy spide新建工程

首先打开我们的pycharm IDE软件,在新建工程前,请确保已经安装好scrapy框架,你可以输入下面代码确保scrapy的正常安装:

cmd终端下输入 >>> scrapy -h

创建项目:cmd 进入项目文件夹,输入如下代码

scrapy startproject myproject #myproject是项目名字,你可以自己更改

Scrapy默认是不能在IDE中运行的,我们需要在根目录中新建一个py文件:entrypoint.py,输入如下代码:

from scrapy.cmdline import execute
execute(['scrapy', 'crawl', 'powers']) #第三个参数是你自己设置的爬虫的名字

通过以上的设置,我们新建了一个scrapy框架的工程,整个文件目录如下:

OK,整个工程的准备工作已经完毕,我们需要按照scrapy的流程图,构建我们的爬虫

scrapy新建spider

首先,在spider爬虫文件夹下,新建一个py文件powers415.py

第二: 设置spider

打开settings,找到如下代码,在我们前期调试阶段,可以先取消注释

HTTPCACHE_ENABLED = True
HTTPCACHE_EXPIRATION_SECS = 0
HTTPCACHE_DIR = 'httpcache'
HTTPCACHE_IGNORE_HTTP_CODES = []
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

这几行注释的作用是Scrapy会缓存你有的Requests!当你再次请求时,如果存在缓存文档则返回缓存文档,而不是去网站请求,这样既加快了本地调试速度,也减轻了 网站的压力

第三:定义Items

根据我们需要爬取的需要,定义我们需要的Items,我们以爬取https://www.23us.so/full.html此URL为例(一个小说网站),打开此网站,我们可以看到上面有小说的名字,作者,字数,状态等,本次就先爬虫这一个界面的所有小说的名字为例

打开Items 输入如下:

import scrapy
class PowersItem(scrapy.Item):
 novelname = scrapy.Field()#小说名字
pass

以上就是scrapy的基本设置(后续会添加其他的设置,我们后续讨论)

第四:编写spider

打开我们先前建立的py爬虫powers415.py

import scrapy
from bs4 import BeautifulSoup #(解析request来的网页)
from scrapy.http import Request #(request请求)
from myproject.items import PowersItem
#以上是插入scrapy以及其他使用到的第三方库
###########
class PowersSpider(scrapy.Spider):
 name = "powers" #爬虫的名字,必须添加爬虫的名字,这个很重要
 first_url='http://www.23us.so/full.html' #定义第一个URL
 def start_requests(self): 
 yield Request(self.first_url,self.parse)#返回调度器处理好的request
 #spider处理获取的数据,得到Items
 def parse(self, response): #必须有parse函数
 tds = BeautifulSoup(response.text, 'lxml').find_all('tr', bgcolor='#FFFFFF')#解析
 item = PowersItem() #item初始化
 for td in tds:
 novelname = td.find('a').get_text()#获取小说名字
 item['novelname'] =novelname #获取到Items
 print(item)
 pass
>>>

下期预告:

OK,到此我们的第一个简单爬虫就介绍完了,下期我们在本次的基础上面,爬取更多的数据

相关推荐

公司组织架构及部门职责#管理制度 #薪酬绩效 #组织架构

...

终于把“公司组织架构与管理部岗位配置”整理好了,拿来即用!

...

老板看完这份“公司组织架构详解”就解放了!

...

丨公司丨公司大架构整理汇总

注:本文转自团队成员原创作品,特此鸣谢(公号:法海图鉴)今日话题公司大架构整理背景介绍经过前几期话题对各种企业类型的介绍,想必大家已经有了初步认识。之后我将带着大家开启对公司的深入了解。本期...

图解物理--八年级物理下册最全知识框架导图

第七章力1力2弹力3重力第八章运动和力1牛顿第一定律2二力平衡3摩擦力第九章压强1压强2液体压强3大气压强4流体压强与流速的关系第十章浮力1浮力2阿基米德原理3物体的浮沉条件及应用第十一章功...

八年级上册生物,思维导图,期末高分必备资料,家长收藏

这是八年级上册生物的思维导图,孩子在背诵知识点的时候,可以看一下知识点在导图中的位置,形成对知识点整体的把握,有助于学生拿高分,特别是图片中带红色星星的部分,更是要注意背诵,是重点内容。家长可以把图片...

2019政府工作报告精华,这张思维导图里全都有

每经记者:李可愚每经编辑:陈星每日经济新闻

图解薪酬体系结构设计

...

司考复习独家总结!一张图总结行政法知识结构体系

作为三大实体法之一,行政法的分值在60分左右,行政法在司法考试中一直比较平稳常规,没有偏题怪题,还是比较容易得分的。小编要提醒大家,在3月之前要把三大实体法学习一遍。下图是厚大在线360导学师小周总结...

一图读懂香港国安新架构:各职位人选公布 有官员曾强硬喊话乱港分子

实用干货!高中物理框架图,让零碎知识“串联”起来

高中物理学习一定要抓好逻辑结构大框架!了解整个知识框架体系后,更易抓住骨干知识,干掉重难知识点~今天给大家分享高中物理的框架图同学们赶紧收藏起来吧!力学知识结构图光学知识结构图热学、原子物理知识结构图...

254m超高层办公楼型钢砼框架-核心筒结构图

高度类别:超高层建筑钢筋混凝土结构:框架,框架核心筒钢结构:钢框架建筑功能:办公包含:办公楼57层(-3层)254.150m钻孔灌注桩桩+筏板型钢混凝土框架-钢筋混凝土核心筒西裙房2层(-...

砖混结构与框架结构,究竟有何区别?千万别被坑!

现在买房装修的人最怕啥?不是价格高,而是房子不安全!两种主流建筑结构,砖混靠墙,框架靠柱子,选错了隔墙都可能要命。简单说,砖混便宜但别碰高层,框架贵点但能保命。砖混那些承重墙根本不能拆,想砸墙改个开放...

大师一百——高中化学必考:《元素周期律》考点框架图

今天大师给大家带来的是高中化学的《元素周期律》考点框架图,高中的同学必须牢记于心,这种重要的考点,考试是一定会考的!化学大师...

需求分析框架图

需求分析框架图

取消回复欢迎 发表评论: