Scarpy源码分析18 总结

2021SC@SDUSC

从10.01.021开始着手分析Scarpy,到现在两个多月的时间,前前后后写了17篇分析文章与技术报告。加总起来五万余字,收获颇丰。

在软件工程应用这门课中,我选择的是Scarpy爬虫源码的分析,虽然之前有过爬虫小项目的代码经验,但逻辑清晰的,系统全面的分析一个现有的成熟框架,对我来说是一个困难问题。特别是因自己身体各方面原因,10月一整个月都奔波在医院与学校中,整个月中工作与学习的时间屈指可数。在这样的情况下,用极为有限的时间,系统的分析整个成熟的框架,几乎成为了不可能的任务。对我提出了巨大的挑战。

各方面的,家人也好,朋友也好,对我提供的支持与帮助,我十分感激。帮我度过了身体原因最痛苦最艰难的时间,深表感谢。当然了,在英文互联网上关于Scrapy已有的资料,也是我成功完成这门课程的一大助力。

言归正传,在这17篇分析文章中,我分为了三个部分,循序渐进的层层分析,吃下了Scrapy爬虫框架这个“大螃蟹”。

首先是1.2篇源码,通过对于Scrapy的前置框架(这个词可能不是那么准确)的分析,打开这门课程的大门。

然后层层分析,通过源码,文档,实例,demo,单元测试,掌握了这门框架的基本内容。(直到博客第九篇)

最后的部分,我结合Scrapy的官方和非官方文档,对于这个框架中的重点两部分:ITEM PIPELINE 以及 REQUESTS & RESPONSES 两部分进行重点分析,摸透了源码框架中具体的类和方法。

不过,还是有一点遗憾,Scrapy爬虫使用的趋势逐渐减少,我也没有能够通过一个具体的大项目来剖析爬虫中关于分布式爬虫,反反爬虫这样的一些内容,是一个小小遗憾。

Altogether,以上18篇博客,展现了我在这门课程的学习,我也在源码的阅读与实践中,收获颇丰。感谢教授开设的软件工程实践与应用这门课程,我从中学到了很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scrapy是一个用于爬取网站数据的Python框架。它提供了一种简单而强大的方式来定义爬虫,并通过异步处理和多线程来提高爬取效率。在Scrapy中,我们可以使用XPath或CSS选择器来提取网页中的数据,并使用Item来定义我们想要存储的字段。\[1\]\[3\] 在使用Scrapy进行爬虫开发时,一般的思路是首先定义一个Item类,用于存储我们想要提取的数据字段。然后,我们需要编写一个爬虫类,继承自Scrapy的Spider类,并在其中定义start_urls和parse方法。在parse方法中,我们可以使用XPath或CSS选择器来提取网页中的数据,并将提取到的数据存储到Item中。\[2\] 在编写爬虫时,我们可以使用scrapy shell命令来启动Scrapy的交互模式,以便测试XPath语法的正确性。通过执行scrapy shell url命令,我们可以在交互模式中测试我们的XPath表达式是否能够正确提取到我们需要的数据。\[2\] 总结来说,Scrapy是一个强大的Python爬虫框架,它提供了丰富的功能和灵活的配置选项,可以帮助我们高效地爬取网站数据。通过定义Item类和编写爬虫类,我们可以使用XPath或CSS选择器来提取网页中的数据,并将提取到的数据存储到Item中。使用scrapy shell命令可以方便地测试XPath语法的正确性。 #### 引用[.reference_title] - *1* [Scrapy 源码分析之 DepthMiddleware](https://blog.csdn.net/u010467643/article/details/128607769)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [scrapy爬虫与数据分析实战](https://blog.csdn.net/qq_42058868/article/details/89409259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值