python xpath 中文乱码_Python 爬虫之Scrapy中

1

 基本概念说明 

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

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

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

2

 Scrapy Shell 提取数据演示

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

C:\Users\tdcengineer>scrapy versiond:\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: HOMEScrapyDeprecationWarningScrapy 2.2.0如果此命令执行不成功,就需要自己去配置环境变量了。执行如下命令:C:\Users\tdcengineer>scrapy shell http://lab.scrapyd.cn/page/1/ 这是返回的信息:[s] Available Scrapy objects:[s] scrapy scrapy module (contains scrapy.Request, scrapy.Selector, etc)[s] crawler object at 0x00000270455E3CC0>[s] item {}[s] request //lab.scrapyd.cn/page/1/>[s] response <200 http://lab.scrapyd.cn/page/1/>[s] settings object at [s] spider 'default' at [s] Useful shortcuts:[s] fetch(url[, redirect=True]) Fetch URL and update local objects (by default, redirects are followed)[s] fetch(req) Fetch a scrapy.Request and update local objects[s] shelp() Shell help (print this help)[s] view(response) View response in a browser>>>

Step1:  // 与 / 的使用,//表示文档下面的所有节点元素,/ 表示取当前节点的下一级元素http://lab.scrapyd.cn/page/1/ 以下是本页面的网页源代码片段:

60f6306444dffadd10b36bd9039e2c75.png

>>> response.xpath("//body")  #加粗的地方注意一下,它就是取了body下面的所有元素,后面进行了省略展示,返回的是Selector 对象,并存放在list 里面。['//body' data=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值