作者wavek (坏猫咪)
看板Python
标题[问题] 新手xpath问题
时间Wed Oct 24 23:24:03 2018
目前看udemy免费课程学scrapy
就照个操作
试着看看抓租屋网价格跟标题,
不过我用的是台湾的租屋网页,结果就卡关了XD
目前我的问题是
我想抓每个价格出来
使用
response.xpath('.//*[@id="content"]/ul[1]/div/i/text()').extract()
可以抓出价格没问题
查看一下房价xpath规律
//*[@id="content"]/ul[3]/div/i
//*[@id="content"]/ul[7]/div/i
//*[@id="content"]/ul[13]/div/i
都是同一个id (也是同一个class="price"),不同的ul
可是用下面两个xpath路径都抓不到全部的价格
response.xpath('.//ul[@id="content"]/ul[1]/div/i/text()').extract()
response.xpath('.//ul[@class="price"]/ul[1]/div/i/text()').extract()
不知道逻辑上是哪里有问题
预期结果大概是下面这样
https://imgur.com/nnPvicv
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.169.162.245
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1540394647.A.F5B.html
1F:推 bugle: index拿掉 10/25 09:45
2F:推 rexyeah: 用devtool 直接复制的xpath也抓不到吗? 10/25 14:07
直接复制就只能抓到一个而已
3F:→ g4332572: 建议网路上简单看一下 xpath 的用法,你就知道哪里错了 10/28 16:55
4F:→ g4332572: 第一个应该是 //div[@id="content"]/ul/div/i/text() 10/28 16:57
5F:→ g4332572: 第二个应该是 //div[@class="price"]/i/text() 10/28 16:58
这两行指令可以! 谢谢!
上次有简单看一下,不过其实还是不太懂
为何明明是在i里面 可是前面是放div
会再慢慢摸索了解 先谢谢大家!>"<
※ 编辑: wavek (1.169.155.38), 10/29/2018 18:48:49