Yukaii / zuzugo-legacy

租租狗,通通給我租起來!
0 stars 0 forks source link

591 API 研究 #2

Closed Yukaii closed 5 years ago

Yukaii commented 5 years ago

part of #1

抄爆:https://ithelp.ithome.com.tw/articles/10191506

Yukaii commented 5 years ago

直接

var request = require('request');
const async = require('async');

var j = request.jar();
var url = 'https://rent.591.com.tw';

j.setCookie(request.cookie('urlJumpIp=23'), url);
request = request.defaults({jar: j});

getPagesCount((pages)=>{
  async.map(pages, (page, callback)=>{
    getPage(page, (result)=>{
     callback(null, result);
   })
  }, (err, results)=>{
    console.log([].concat.apply([], results));
  })
})

function getPage(pageNumber, callback){
  request('https://rent.591.com.tw/home/search/rsList?firstRow='+pageNumber*30, (err, res, body)=>{
    var result = JSON.parse(body)
    callback(result.data.data)
  })
}

function getPagesCount(callback){
  request('https://rent.591.com.tw/home/search/rsList', (err, res, body)=>{
    var result = JSON.parse(body)
    var pagesCount =Math.floor(result.records/30)
    callback(Array.from(new Array(pagesCount), (val, index) => index));
  })
}

列表抓回來的欄位只有這些資料:

{
        "is_new_index": 0,
        "is_new_list": 1,
        "type": 1,
        "post_id": 7051875,
        "isAd": 0,
        "regionid": 1,
        "photoNum": 15,
        "classLast": "",
        "detail_url": "rent-detail-7051875.html",
        "address": "捷運邊.公車多.價廉優雅.鄰台大師大俱全",
        "img_src": "https://hp2.591.com.tw/house/active/2018/02/15/151863517433780101_210x158.crop.jpg",
        "alt": "台北租屋,文山租屋,獨立套房出租,捷運邊.公車多.價廉優雅.鄰台大師大俱全",
        "address_2": "捷運邊.公車多.價廉優雅....",
        "section_str": "文山區",
        "region": 1,
        "kind_str": "獨立套房",
        "area": "8坪",
        "price_str": "8,500元",
        "recom_num": 9,
        "address_3": "捷運邊.公車多...",
        "ico": "rent-ico",
        "price": "8,500",
        "price_unit": "元/月",
        "onepxImg": ""
      },
Yukaii commented 5 years ago

Description

完整描述、聯絡方式一堆東西都要從 detail 頁抓 😓

完整的地理位置資訊

GET /map-houseRound.html?type=1&post_id=7051875&s=j_edit_maps&version=1

回傳的 HTML 拿到精準經緯度:

<input type="hidden" id="init" value="0" />
<input type="hidden" id="user_select" value="j_edit_maps" />
<input type="hidden" id="lat" value="24.9982491" />
<input type="hidden" id="lng" value="121.5372314" />
<input type="hidden" id="collect_id" value="62607" />
<input type="hidden" id="collect_name" value="景福街45巷" />
<input type="hidden" id="post_id" value="7051875" />
<input type="hidden" id="type" value="1">
<input type="hidden" id="is_allow_update" value="1">
Yukaii commented 5 years ago

filter 行為模式

rentpriceMore: 1,2 rentprice: 0 不限 / 5000 以下 / 5000-10000 / 10k-20k / 20k-30k / 30k-40k / 40k-60k / 60k up

(類型) kind: 0~6 不限/整層住家/獨立套房/分租套房/雅房/車位/其他

firstRow: 30 totalRows: 2180

(位置) region: 3 這邊也有 html 列表可以用

Yukaii commented 5 years ago

大概就先玩到這樣