内容简介:本文写作目的是为了让初学者了解scrapy命令行如何:安装好scrapy库之后,我们就可以命令行中创建项目。我一般喜欢先将命令行工作目录切换到desktop,之后才创建项目。创建项目的语法
本文写作目的是为了让初学者了解scrapy命令行如何:
-
创建项目
-
创建爬虫
-
数据定位(设计parse函数)
-
试运行parse函数。
安装scrapy
创建scrapy项目
安装好scrapy库之后,我们就可以命令行中创建项目。我一般喜欢先将命令行工作目录切换到desktop,之后才创建项目。创建项目的语法
请求方法
平常的话,我们在scrapy项目的命令行中这样访问一个网址
但是有很多网站会封锁我们的爬虫请求,这时候我们需要设置 -s USER_AGENT
参数。
经过访问后,我们就可以使用response来调用得到的响应数据。
请求实例
比如我们在这里直接访问 简书 https://www.jianshu.com/
我们发现用最简单的方式去访问得到的响应状态码是403,说明爬虫被封了。所以我们需要设置user-agent,伪装成浏览器。
经过伪装后的请求得到200状态码,说明访问正常。
解析响应数据
上面请求很顺利,大家不要被大量的日志吓到。接下来我们就需要解析网页数据。不过解析前我们需要在scrapy项目中先创建爬虫脚本。我们需要先切换到learn_scrapy这个文件夹内,再创建爬虫脚本。语法
设计爬虫-定位数据
刚刚我们已经成功访问并得到简书的响应response,现在我们想获取简书页面的中的标题。
F12键打开开发者工具,之后定位到这个标题后右键选中 Copy ,点击 Copy xpath 即可获得该标题对应的xpath表达式。之后 jianshu.py 中的parse函数中撰写数据定位代码。对xpath语法不熟悉的童鞋可点击本文学习 scrapy中Xpath表达式总结
现在只是设计出解析标题所在标签的xpath表达式,但是是否奏效还未可知。因此接下来我们需要命令行测试定义的parse()函数。这里我们用到
不过刚刚在前面我们已经知道简书会封锁我们的爬虫,因此在这里我们还需要设置USER_AGETN参数。因此命令行的命令为
刚刚的定位还有点粗糙,现在我们再精确到标题,输出当前页面的所有标题。从下图得知,标题位于 li>div>a中的文本中
现在我们更改代码中的xpath表达式,并运行代码
好了,现在我们已经可以正确的定位到数据。
总结
为了让学习变得可观生动直接,本文全程制作了gif动画,但这也使得讲解的粒度太细,导致内容篇幅太长,不利于学习。所以本文只用容易被封锁的简书网作为案例,教初学者如何使用scrapy 命令行创建项目、创建爬虫、数据定位、试运行parse函数。未来还会以gif动画的形式去讲解爬虫,讲解scrapy,希望大家多多支持^_^。觉得gif动图好的童鞋们,记得给我好看啊。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- jmap 命令的实现原理解析
- go语言 从命令行获取参数解析
- 熔断器 Hystrix 源码解析 —— 执行命令方式
- Go语言命令解析学习 golang开发学习
- apkanalyzer(3)-走读dex/arsc解析命令
- 美国用于命令与控制的网空攻击装备解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
小团队构建大网站:中小研发团队架构实践
张辉清 等 / 电子工业出版社 / 2019-1 / 69
《小团队构建大网站:中小研发团队架构实践》结合作者近几年的工作经验,总结了一套可直接落地、基于开源、成本低、可快速搭建的中小研发团队架构实践方法。《小团队构建大网站:中小研发团队架构实践》共5篇22章,开篇是本书的导读;架构篇是设计思想的提升,包括企业总体架构、应用架构设计、统一应用分层等;框架篇主讲中间件和工具的使用,包括消息队列、缓存、Job、集中式日志、应用监控和微服务等;公共应用篇是技术与......一起来看看 《小团队构建大网站:中小研发团队架构实践》 这本书的介绍吧!