python中的scrapy爬虫_Python 爬虫之Scrapy《中》

欢迎关注【无量测试之道】公众号,回复【领取资源】,

Python编程学习资源干货、

Python+Appium框架APP的UI自动化、

Python+Selenium框架Web的UI自动化、

Python+Unittest框架API自动化、

资源和代码 免费送啦~

文章下方有公众号二维码,可直接微信扫一扫关注即可。

一、基本概念说明

Scrapy数据解析主要有两个大类:xpath() 和 css() ,今天这篇文章主要讲解xpath如何解析我们想获取的页面数据。同时Scrapy还给我们提供自己的数据解析方法,即Selector(选择器),Selector是一个可独立使用的模块,我们可以用Selector类来构建一个选择器对象,然后调用它的相关方法如xpaht(), css()等来提取数据,它的常用写法如下:

1 response.selector.css() #这里的response就是我们请求页面返回的响应2 response.selector.xpath()#可简写为(因为这两个解析的方法太通用了,所以就直接在response上面支持了这两个解析方法)3 response.css()4 response.xpath()5 其中response.xpath() 这个数据解析方法是今天的主角。

Scrapy Shell 主要用于测试Scrapy项目中命令是否生效,可在bash下直接执行,这里我们通过使用Scrapy Shell来验证学习选择器提取网页数据,使用的是在windows下 cmd 命令行下执行此命令 scrapy shell http://lab.scrapyd.cn/page/1/ 来演示。

二、Scrapy Shell 提取数据演示

win+r 输入 cmd 回车—》进入到windows 交互命令行界面,输入:

1

2 C:\Users\tdcengineer>scrapy version3 d:\program files\python36\lib\site-packages\scrapy\utils\project.py:94: ScrapyDeprecationWarning: Use of environment variables prefixed with SCRAPY_ to override settings is deprecated. The following environment variables are currently defined: HOME4 ScrapyDeprecationWarning5 Scrapy 2.2.06 如果此命令执行不成功,就需要自己去配置环境变量了。7

8 执行如下命令:9 C:\Users\tdcengineer>scrapy shell http://lab.scrapyd.cn/page/1/10 这是返回的信息:11 [s] Available Scrapy objects:12 [s] scrapy scrapy module (contains scrapy.Request, scrapy.Selector, etc)13 [s] crawler

14 [s] item {}15 [s] request

16 [s] response <200http://lab.scrapyd.cn/page/1/>

17 [s] settings

18 [s] spider

19 [s] Useful shortcuts:20 [s] fetch(url[, redirect=True]) Fetch URL and update local objects (by default, redirects are followed)21 [s] fetch(req) Fetch a scrapy.Request and update local objects22 [s] shelp() Shell help (print this help)23 [s] view(response) View response in a browser24 >>>

Step1:// 与 / 的使用,//表示文档下面的所有节点元素,/ 表示取当前节点的下一级元素

http://lab.scrapyd.cn/page/1/ 以下是本页面的网页源代码片段:

1 >>> response.xpath("//body") #加粗的地方注意一下,它就是取了body下面的所有元素,后面进行了省略展示,返回的是Selector 对象,并存放在list 里面。2 [\n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值