2021SC@SDUSC
ECommerceCrawlers代码综述
一、项目地址
https://gitee.com/AJay13/ECommerceCrawlers/tree/master
二、项目概况
ECommerceCrawlers是一个多种电商商品数据的Python爬虫合集,整个项目内共有35个爬虫项目,12个contributor,其中有部分只有readme,而没有源码。这些爬虫项目采用的是目前比较主流的三种爬虫方法:requests,selenium,scrapy。由于是各人写各人的项目,因此各个爬虫的代码质量参差不齐,不过初学者学习已经足矣。
三、分工
由于是小组分工合作,我分到的任务是分析如下的四个爬虫的源码:
其中WechatCrawler只有readme.md而没有源码,所以这个爬虫我会放在靠后的几篇讲,博客会记录我实现这个爬虫的过程。
四、未来博客更新
本人学习爬虫三年,爬过大大小小数百个网站,小至论坛贴吧,大至海关股票,因此,我会站在一个比较高的角度去评价每个项目的代码,并且给出相应的优化意见。在之后的博客中,我不会局限于我分到的这四个项目,我将逐篇分析该合集中的每一个项目,对于写的比较优秀的项目我会花一篇或者两篇博客去分析,对于代码混乱或者比较简单的项目,我会把几个项目放在一篇中分析。我将从最基础的requests库的项目说起,包括一些比较基础的xpath、css selector、BeautifulSoup、正则表达式等等,后期会讲讲scrapy框架,最后会讲讲我遇到的几个比较有意思的项目的例子,包括海关单一窗口的AES CBC加密、CSDN、知乎的ajax加载、京东APP的活动脚本等等(对,没错,我是京东某个脚本库的作者)。
PS:selenium的项目可能会略过不讲,因为selenium写的爬虫稳定性非常的差、会占用大量的系统资源、可移植性几乎没有,并且对于初学者理解http协议没有任何帮助。在我看来,selenium只能是JS逆向的代码看不懂时没有办法的办法。
虽然发博客是我课程的要求,但我不会止步于此,我会分享一些我在编写爬虫时的一些小技巧,希望之后我发的这些博客能给到学习爬虫的大家一点启发。
|