(2)分布式下的爬虫Scrapy应该如何做-关于对Scrapy的反思和核心对象的介绍

举报
~大鱼~ 发表于 2021/05/28 03:40:31 2021/05/28
【摘要】    本篇主要介绍对于一个爬虫框架的思考和,核心部件的介绍,以及常规的思考方法: 猜想     我们说的爬虫,一般至少要包含几个基本要素:    1.请求发送对象(sender,对于request的封装,防止被封)    2.解析文档对象(将请求的网页当作是html文档还是字符串)   ...

   本篇主要介绍对于一个爬虫框架的思考和,核心部件的介绍,以及常规的思考方法:

猜想

    我们说的爬虫,一般至少要包含几个基本要素:

   1.请求发送对象(sender,对于request的封装,防止被封)

   2.解析文档对象(将请求的网页当作是html文档还是字符串)

   3.承载所需要的解析对象(标准格式的数据承载者)

   4.获取所需对象后的操作者 (得到对象后,是以文件形式保存还是存入数据库)

   5.整个流程的错误处理者(整个流程的异常监控者)

   《(2)分布式下的爬虫Scrapy应该如何做-关于对Scrapy的反思和核心对象的介绍》

 

验证

 

我们来看看Scrapy 提供了哪些核心的对象

 

 

基本概念

命令行工具(Command line tools)
学习用于管理Scrapy项目的命令行工具
Items
定义爬取的数据
Spiders
编写爬取网站的规则
选择器(Selectors)
使用XPath提取网页的数据
Scrapy终端(Scrapy shell)
在交互环境中测试提取数据的代码
Item Loaders
使用爬取到的数据填充item
Item Pipeline
后处理(Post-process),存储爬取的数据
Feed exports
以不同格式输出爬取数据到不同的存储端
Link Extractors
方便用于提取后续跟进链接的类。

refer from :https://scrapy-chs.readthedocs.org/zh_CN/0.24/

 

基本上我们所设想的对象Scrapy都会包含在里面了

爬取

 

我们知道,一般爬虫都是按如下规则来爬取数据的

输入目标网址=> 编写处理规则(正则表达式或者xpath语法)=>对得到的数据进行处理 

Scrapy的做法如下:

1)新建一个项目

以命令行形式切换到需要将代码放置的文件夹下,然后输入如下命令:

文件夹下会生成一个cnblogs的文件下,切换到该文件夹下(记住切换)

《(2)分布式下的爬虫Scrapy应该如何做-关于对Scrapy的反思和核心对象的介绍》

 

 

Item.py就是我们所需要数据承载器

修改为如下代码:

 

在Spider文件夹下添加BasicGroupSpider.py 修改为如下内容

 

OK ,回到第一步的命令台的界面,输入如下命令

结果

 

《(2)分布式下的爬虫Scrapy应该如何做-关于对Scrapy的反思和核心对象的介绍》

 

关于里面的代码功能,自己去理解吧,写过代码的人大致都了解。

====>DEMO下载<====  

总结

本次主要分析了爬虫框架的大致构件,并验证了我们的猜想,关于python的爬虫框架有很多,不过像scrapy这样值得入手和研究的,比较少了,.net下的更少了。

文章来源: brucedone.com,作者:大鱼的鱼塘,版权归原作者所有,如需转载,请联系作者。

原文链接:brucedone.com/archives/145

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。