在用Scrapy爬取數據時需要用XPath確定路徑,對于網頁結構不熟悉的童鞋,需要認真找標簽之間的嵌套關系,來確定所要提取內容的路徑。一個簡單的方法是,可以直接用Chrome的檢查來Copy這個XPath的路徑。
方法見這篇文章 《再談Scrapy抓取結構化數據》
在文章中提到的小技巧,就是使用Chrome“檢查”-- 找到要抓取的內容,右鍵 “Copy” -- “Copy XPath”
但是Copy出來的路徑,是不能直接使用的,它默認是從最近的一個帶id的標簽開始。如果沒有它會從 html
標簽開始計算路徑。
以“小豬短租” 的房租信息為例:
http://sh.xiaozhu.com/search-duanzufang-p1-0/
copy 房租價格的XPath路徑是:
//*[@id="page_list"]/ul/li[1]/div[2]/span[1]/i
顯然循環點選取在li
(每個租房信息都包含在一個 li
中) 。在循環中路徑就應該寫:
info.xpath('div[2]/span[1]/i/text()')
我錄了一段屏,看一下: