scrapy 的 selector 练习

简介: 网页结构: Example website Name: My image 1 Name: My image 2 Name: My image 3 Name: My image 4 Name: My image 5 连接:scrapy shell http://doc.

网页结构

<html>
 <head>
  <base href='http://example.com/' />
  <title>Example website</title>
 </head>
 <body>
  <div id='images'>
   <a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a>
   <a href='image2.html'>Name: My image 2 <br /><img src='image2_thumb.jpg' /></a>
   <a href='image3.html'>Name: My image 3 <br /><img src='image3_thumb.jpg' /></a>
   <a href='image4.html'>Name: My image 4 <br /><img src='image4_thumb.jpg' /></a>
   <a href='image5.html'>Name: My image 5 <br /><img src='image5_thumb.jpg' /></a>
  </div>
 </body>
</html>

连接:

scrapy shell http://doc.scrapy.org/en/latest/_static/selectors-sample1.html

Play:
注意xapthcss两种方式的区别与联系

# selector
response.selector.xpath('//title/text()').extract()
response.selector.css('title::text').extract()


# response的selector的xpath与css太常用了,所以提供了简捷写法:

# 文本一
response.xpath('//title/text()').extract()
response.css('title::text').extract()

# 文本 包括子节点
sel.xpath("//a[1]//text()").extract()

# 文本 包括子节点
sel.xpath("string(//a[1])").extract()


# 属性
response.xpath('//img/@src').extract()
response.css('img::attr(src)').extract()

# 混合
response.css('img').xpath('@src').extract()
response.xpath('//img').css('::attr(src)').extract()

# 精确
response.xpath('//div[@id="images"]/a/text()').extract()
response.css('div[id=images] a::text').extract()

# 模糊
response.xpath('//div[contains(@id, "image")]/a/text()').extract()
response.css('div[id*=image] a::text').extract()

# 正则
response.xpath('//a[contains(@href, "image")]/text()').re(r'Name:\s*(.*)')
目录
相关文章
|
网络协议 Shell Docker
docker compose详细使用教程
docker compose详细使用教程
1607 0
|
缓存 前端开发 JavaScript
前端基础知识
【5月更文挑战第8天】前端基础知识
188 5
|
编解码 前端开发
用canvas实现手写签名功能
用canvas实现手写签名功能
218 0
|
XML JavaScript Java
|
开发工具 虚拟化
|
安全 Windows
配置windows失败,还原更新,请勿关机
同事叫我帮忙弄一下电脑,开机,出现"配置Windows Update失败,还原更改,请勿关闭计算机",我从来不更新Windows Update,更新都为成功,第一次遇到失败了,不知道怎么处理了。 思路一:按正常启动出现了问题,那就按"最后一次正确配置"来吧,好家伙,居然启动中没有这一项,无奈; 思路二:进入安全模式吧,这是解决很多问题的模式,可F8进入安全模式还是出现这个问题,一点都不安全! 思路三:修复启动,拿出PE,修改启动,一下子就好了。
983 0
|
1天前
|
云安全 人工智能 自然语言处理