[問題] 新手xpath問題

看板Python作者 (壞貓咪)時間5年前 (2018/10/24 23:24), 5年前編輯推噓2(203)
留言5則, 3人參與, 5年前最新討論串1/1
目前看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://www.ptt.cc/bbs/Python/M.1540394647.A.F5B.html

10/25 09:45, 5年前 , 1F
index拿掉
10/25 09:45, 1F

10/25 14:07, 5年前 , 2F
用devtool 直接複製的xpath也抓不到嗎?
10/25 14:07, 2F
直接複製就只能抓到一個而已

10/28 16:55, 5年前 , 3F
建議網路上簡單看一下 xpath 的用法,你就知道哪裡錯了
10/28 16:55, 3F

10/28 16:57, 5年前 , 4F
第一個應該是 //div[@id="content"]/ul/div/i/text()
10/28 16:57, 4F

10/28 16:58, 5年前 , 5F
第二個應該是 //div[@class="price"]/i/text()
10/28 16:58, 5F
這兩行指令可以! 謝謝! 上次有簡單看一下,不過其實還是不太懂 為何明明是在i裡面 可是前面是放div 會再慢慢摸索了解 先謝謝大家!>"< ※ 編輯: wavek (1.169.155.38), 10/29/2018 18:48:49
文章代碼(AID): #1Rq8wNzR (Python)