本例子用命令行調試的方式,演示如何獲取頁面的特定信息:
0) 示例頁面
1) 使用scrapy shell獲取目標頁面;
scrapy shell http://bj.lianjia.com/ershoufang/pg1tt2/
2)找到提取路徑
在頁面(本例中使用谷歌瀏覽器)用F12查看代碼,找到要提取目標字段,如第一個房源的地址,在工具下欄有一個css的“路徑”:
html body div div ul.sellListContent li.clear div.info.clear div.address div.houseInfo a
使用div后面的css路徑,“ul.selListContent li.clear div.info.clear div.address div.houseInfo a”作為response.css函數的輸入,如下圖,此時已提取到了該頁面使用該css的所有數據。
3) 從已選擇的數據中進一步提取目標信息
上述得到的結果為一個selector的數組SelectorList,數組的每個元素則對應頁面中一個選擇到的結果。因此需單獨處理每個信息;這里直接使用xpath提取文本信息。提取結果為unicode編碼的字符串列表,選擇對應的字符串(如本例子中只有一個字符串)。如下:
4) 打印列表信息
至此,目標信息就都找到了,可以使用循環將所有信息打印出來。如下: