python爬取租房信息

租房助手

發(fā)現(xiàn)官網(wǎng)的篩選方式不能滿足自己的需求,所以爬取相關網(wǎng)站制作出現(xiàn)在的東西來

效果預覽

下面進行詳細分析

一.首先爬取起始地和終點地的路線及沿途地鐵站名稱

1.爬取8684.cn的地鐵查詢:

pattern = 'http://bjdt.8684.cn/so.php?k=p2p&q={}&q1={}'
  • q->起始位置,q1為目標位置。返回的是html頁面。

2.采用scrapy進行xpath解析,提取相關的html標簽和值

  • 如提取線路方案列表的xpath表達式
            Selector(text=body).xpath(
            "http://div[@class='iContainer clear']/div[@class='iMain']/div[@class='transferMainShowWrap']/ul[@class='tms-mn tms-project']/li")
            .extract()

3.提取出線路方案列表后,針對列表中的每個元素進行提取站點的操作,可參考提取a標簽,但剔除帶有class屬性的html值。

4.將所有的站點放到一個列表中,同時針對列表元素進行去重操作,記得記錄路線描述和距離,可定義相關對象來維護。

二.通過站點查詢租房信息

1.主要對自如官網(wǎng)進行爬取。

pattern=http://www.ziroom.com/z/nl/z2.html?qwd={}

  • qwd可能需要進行urlencode
  • 返回的是html頁面,需要對頁面進行分析,首先提取出總頁數(shù),然后根據(jù)總頁數(shù)去請求其余頁面。上面的url附加q參數(shù),q參數(shù)為頁面索引,即是單獨頁面鏈接

2.針對單個頁面提取各個單條項目的信息。
如提取單個頁面的信息列表

```
 ls = Selector(text=body).xpath("http://ul[@id='houseList']/li").extract();
```
  • 針對列表進行單個處理,提取感興趣的信息。

3.處理封裝返回。
針對提取的信息,進行篩選,例如對價格進行篩選,對大小進行篩選,不用做排序。采用前端框架來進行排序。后臺做的處理已經(jīng)夠多了。

三.接入到公眾號中

可以接入到公眾號中,提高公眾號的影響力,具體的公眾平臺對接請參考訪問github開源項目

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容