如何用 scrapy 命令行访问、解析网页数据

栏目: 编程工具 · 发布时间: 6年前

内容简介:本文写作目的是为了让初学者了解scrapy命令行如何:安装好scrapy库之后,我们就可以命令行中创建项目。我一般喜欢先将命令行工作目录切换到desktop,之后才创建项目。创建项目的语法

本文写作目的是为了让初学者了解scrapy命令行如何:

  1. 创建项目

  2. 创建爬虫

  3. 数据定位(设计parse函数)

  4. 试运行parse函数。

安装scrapy

创建scrapy项目

安装好scrapy库之后,我们就可以命令行中创建项目。我一般喜欢先将命令行工作目录切换到desktop,之后才创建项目。创建项目的语法

如何用 scrapy 命令行访问、解析网页数据

请求方法

平常的话,我们在scrapy项目的命令行中这样访问一个网址

但是有很多网站会封锁我们的爬虫请求,这时候我们需要设置 -s USER_AGENT 参数。

经过访问后,我们就可以使用response来调用得到的响应数据。

请求实例

比如我们在这里直接访问 简书 https://www.jianshu.com/

如何用 scrapy 命令行访问、解析网页数据

我们发现用最简单的方式去访问得到的响应状态码是403,说明爬虫被封了。所以我们需要设置user-agent,伪装成浏览器。

如何用 scrapy 命令行访问、解析网页数据

经过伪装后的请求得到200状态码,说明访问正常。

解析响应数据

上面请求很顺利,大家不要被大量的日志吓到。接下来我们就需要解析网页数据。不过解析前我们需要在scrapy项目中先创建爬虫脚本。我们需要先切换到learn_scrapy这个文件夹内,再创建爬虫脚本。语法

如何用 scrapy 命令行访问、解析网页数据

设计爬虫-定位数据

刚刚我们已经成功访问并得到简书的响应response,现在我们想获取简书页面的中的标题。

如何用 scrapy 命令行访问、解析网页数据

F12键打开开发者工具,之后定位到这个标题后右键选中 Copy ,点击 Copy xpath 即可获得该标题对应的xpath表达式。之后 jianshu.py 中的parse函数中撰写数据定位代码。对xpath语法不熟悉的童鞋可点击本文学习  scrapy中Xpath表达式总结

如何用 scrapy 命令行访问、解析网页数据

现在只是设计出解析标题所在标签的xpath表达式,但是是否奏效还未可知。因此接下来我们需要命令行测试定义的parse()函数。这里我们用到

不过刚刚在前面我们已经知道简书会封锁我们的爬虫,因此在这里我们还需要设置USER_AGETN参数。因此命令行的命令为

如何用 scrapy 命令行访问、解析网页数据

刚刚的定位还有点粗糙,现在我们再精确到标题,输出当前页面的所有标题。从下图得知,标题位于 li>div>a中的文本中

如何用 scrapy 命令行访问、解析网页数据

现在我们更改代码中的xpath表达式,并运行代码

如何用 scrapy 命令行访问、解析网页数据

好了,现在我们已经可以正确的定位到数据。

总结

为了让学习变得可观生动直接,本文全程制作了gif动画,但这也使得讲解的粒度太细,导致内容篇幅太长,不利于学习。所以本文只用容易被封锁的简书网作为案例,教初学者如何使用scrapy 命令行创建项目、创建爬虫、数据定位、试运行parse函数。未来还会以gif动画的形式去讲解爬虫,讲解scrapy,希望大家多多支持^_^。觉得gif动图好的童鞋们,记得给我好看啊。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Everything Store

The Everything Store

Brad Stone / Little, Brown and Company / 2013-10-22 / USD 28.00

The definitive story of Amazon.com, one of the most successful companies in the world, and of its driven, brilliant founder, Jeff Bezos. Amazon.com started off delivering books through the mail. Bu......一起来看看 《The Everything Store》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具