基础Scrapy的简单了解(1)HTML和XPath

简单介绍

简化获得和抽取数据复杂性的网络框架。
Scrapy是用于提取结构化信息的,需要人工介入,设置合适的XPath或者CSS表达式。

关于HTML和XPath

URL:第一部分通过域名系统在网络上定位合适的服务器,剩余部分请求服务端理解发送的请求。
HTML:放在网络上的文本文件。理解标签,元素,属性,以及包含的文本。
树表示法:树形数据结构,利用框模型映射到屏幕上。
XPath:XPath语言可用于选择并抽取元素,属性和文本。
XPath语法:

  • // :取得某一特定的元素,无需考虑其所在的层次结构。例,//p会选择所有的p元素,//div//a选择所有div中的所有链接。
  • / :在且仅在子元素中获得某一特定类型的元素。
  • @ :访问属性。例,//a/@href,可获得链接。
  • text() :通过text()方法获得其文本。例,//a/text()

可以选择以某一特定子字符串起始或包含的能力。
#查找所有链接
//a[@href]
#查找指定链接
//a[@href = “https:baidu.com”]
#查找包含"baidu”的链接
//a[contains(@href, “baidu”)]
#查找以“https”开头的链接
//a[starts-with(@href, “https”)]
#查找不包含“abc”的链接
//a[not(@href, “abc”)]

减少表达式的失效

  • 避免使用数组索引,应尽可能接近目标的标签,找到可以使用的包含id或者class的属性元素。
  • 类不总是好用,class属性一般是通过CSS影响外观,所以网站更新时微小变化可能是表达式失效。
  • 使用面向数据的类比面向布局的类更好,布局变化时,前者更有可能保持有效。
  • ID通常最靠谱。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值