scrapy爬虫案例_【Scrapy】走进成熟的爬虫框架

老猫荐书

老猫荐书【第1期】 |《Python项目案例开发从入门到实战——爬虫、游戏和机器学习》

老猫荐书【第2期】 |《微信小程序开发零基础入门》

老猫荐书【第3期】 |《Java EE框架整合开发入门到实战——Spring+Spring MVC+MyBatis》

今天简单聊聊Scrapy的安装。

前几天有小伙伴留言说能不能介绍推荐一下爬虫框架,我给他推荐了Scrapy,本来想偷个懒,推荐他去看官方文档,里面有一些demo代码可供学习测试。结果收到回复说文档中演示用到的网站已经无法访问了。所以只能自己来简单写一下了,也算是自己一个学习记录。

Scrapy是什么?

定义介绍我也不复制粘贴了。简单来说,Scrapy是一个中大型的爬虫框架,框架的意义就在于帮你预设好了很多可以用的东西,让你可以从复杂的数据流和底层控制中抽离出来,专心于页面的解析即可完成中大项目爬虫,甚至是分布式爬虫。

但是爬虫入门是不推荐直接从框架入手的,直接从框架入手会让你头晕目眩,觉得哪儿哪儿都看不懂,有点类似于还没学会基础的遣词造句就直接套用模板写成文章,自然是十分吃力的。所以还是推荐大家有一定的手写爬虫基础再深入了解框架。(当然还没有入门爬虫的同学…可以催更我的爬虫入门文章…)

那么首先是安装。

Python的版本选择之前提过,推荐大家全面拥抱Python 3.x。

很久以前,大概是我刚入门学习Scrapy时,Scrapy还没有支持Python 3.x,那时一部分爬虫工程师把Scrapy不支持Python 3.x作为不进行迁移的理由。当然了,那时更具体的原因是Scrapy所依赖的twisted和mitmproxy不支持Python 3.x。

现在我依然推荐大家全面拥抱Python 3.x。

先安装Python

这次我们以本地环境来进行安装(Windows+Anaconda),由于Python的跨平台特性,我们本地写的代码可以很容易迁移到别的电脑或服务器使用。(当然了,从规范使用的角度上推荐大家使用单独的env,或者直接使用docker或者vagrant,不过那就说来话长了…以后可以考虑单独介绍)

按照惯例,我们直接使用 pip install scrapy 进行安装。

那么,你大概率会遇到这样的错误:

d4758367cec145f8d3f5f502b9fd7821.png

具体的错误原因…缺少Microsoft Visual C++ 14.0…你也可以自己通过其他渠道解决,当然我们最推荐的做法是直接使用 conda install scrapy 命令(前提是你安装了Anaconda而非普通Python)。

如果遇到写入权限错误,请用管理员模式运行cmd。

d67cb0dedbd0a015cca383dc5c1a3faa.png

之后我们可以写一个很小的demo,依然是官方案例中的DMOZ,DMOZ网站是一个著名的开放式分类目录(Open DirectoryProject),原版的DMOZ已于去年的3月17日停止了运营,目前网站处于403状态。但是网上大量过去的教程都是以DMOZ为案例的。我为大家找到了原DMOZ网站的静态镜像站,大家可以直接访问 http://dmoztools.net/

大家按照官方文档的步骤继续做就可以了,后续的问题不大。

(http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html)

需要注意的就是工作目录问题。

启动Scrapy项目。

scrapy startproject tutorial

a75d721096849277e11b6b4aa7a7f2c0.png

进入目录,我们可以看到自动生成的一些文件,这些文件就是scrapy框架所需要的最基础的组织结构。

scrapy.cfg: 项目的配置文件

tutorial/: 该项目的python模块。之后您将在此加入代码。

tutorial/items.py: 项目中的item文件.

tutorial/pipelines.py: 项目中的pipelines文件.

tutorial/settings.py: 项目的设置文件.

tutorial/spiders/: 放置spider代码的目录.

-END-

  • 京东1月热销

  • 14a98391d383292532de0355440af7dc.png

  • d6a5241faa9620f1618d6164eb68b163.png

  • 6ae2e5213c359d71e91523a164731838.png

  • 71878a4e2152c7998ec3110d44c93d35.png

  • 超值赠品

  • 凡是在京东购买用户,将订单和评价截图发到邮箱itbook8@163.com

  • 将获得额外大礼包(如下图样例)

  • 634c26c67a675c965e627a39b240fca8.png

  • f6b900406dcce07c20859d8bf969d7ba.png

  • 0c9ea01211dc2d85f55a750bbc075345.png

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p style="font-size:16px;color:#666666;"> <img src="https://img-bss.csdn.net/202001311426171105.png" alt="" /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">课程目标</span></strong> </p> <p style="font-size:16px;color:#666666;"> 《从零开始学Scrapy网络爬虫》从零开始,循序渐进地介绍了目前流行的网络爬虫框架Scrapy。即使你没有任何编程基础,学习起来也不会有压力,因为我们有针对性地介绍了Python编程技术。另外,《从零开始学Scrapy网络爬虫》在讲解过程中以案例为导向,通过对案例的不断迭代、优化,让读者加深对知识的理解,并通过14个项目案例,提高学习者解决实际问题的能力。 </p> <p style="font-size:16px;color:#666666;"> <br /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">适合对象</span></strong> </p> <p style="font-size:16px;color:#666666;"> 爬虫初学者、爬虫爱好者、高校相关专业的学生、数据爬虫工程师。 </p> <p style="font-size:16px;color:#666666;"> <br /> </p> <p style="font-size:16px;color:#666666;"> <span style="font-size:20px;"><strong>课程介绍</strong></span> </p> <p style="font-size:16px;color:#666666;"> 《从零开始学Scrapy网络爬虫》共13章。其中,第1~4章为基础篇,介绍了Python基础、网络爬虫基础、Scrapy框架及基本的爬虫功能。第5~10章为进阶篇,介绍了如何将爬虫数据存储于MySQL、MongoDB和Redis数据库中;如何实现异步AJAX数据的爬取;如何使用Selenium和Splash实现动态网站的爬取;如何实现模拟登录功能;如何突破反爬虫技术,以及如何实现文件和图片的下载。第11~13章为高级篇,介绍了使用Scrapy-Redis实现分布式爬虫;使用Scrapyd和Docker部署分布式爬虫;使用Gerapy管理分布式爬虫,并实现了一个抢票软件的综合项目。 </p> <p style="font-size:16px;color:#666666;"> <span style="color:#FF0000;">      由于目标网站可能会对页面进行改版或者升级反爬虫措施,如果发现视频中的方法无法成功爬取数据,敬请按照页面实际情况修改XPath的路径表达式。视频教程主要提供理论、方法支撑。我们也会在第一时间更新源代码,谢谢!</span> </p> <p style="font-size:16px;color:#666666;"> <img src="https://img-bss.csdn.net/202001311426306665.png" alt="" /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">课程特色</span></strong> </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/202001311426415123.png" alt="" /> </p> <div> <br /> </div>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页