Airbnb API: Conas an API Mashvisor a Úsáid chun Sonraí Airbnb a Fháil

Is uirlis anailíse eastáit réadaigh é API Mashvisor a sholáthraíonn níos mó ná na fíricí bunúsacha faoi airíonna reatha nó féideartha. Is féidir le Mashvisor sonraí a sholáthar, ag baint úsáide as halgartaim tátail staitistiúla, a fhéadfaidh cosc ​​a chur ar dhuine droch-infheistíocht eastáit réadaigh a dhéanamh maidir le Airbnb nó cíos traidisiúnta.

Tá dhá phríomhchatagóir ag an API:

  • Cíosanna gearrthéarmacha (Airbnb) nó liostaí cíosa saoire
  • Cíosanna fadtéarmacha (“traidisiúnta”)

Is féidir leis an API faisnéis mhionsonraithe a sholáthar ar airíonna sonracha Airbnb in aghaidh na míosa, lena n-áirítear;

Tá na críochphointí roinnte i gcatagóirí cosúil le Maoin, Rátaí Cíosa, Treochtaí, Scóir Thuar, srl. D’fhéadfadh duine éigin treochtaí foriomlána an mhargaidh a lorg i limistéar nó nialas isteach ar mhaoin shonrach Airbnb. B’fhéidir go bhfuil tú ag fiafraí cén fáth nach n-úsáideann muid API Airbnb chun liostaí réadmhaoine ar leith a fháil ós rud é go bhfuilimid ag lorg.

Cén fáth nach n-úsáideann tú API Airbnb amháin?

“Ag an am seo, nílimid ag glacadh le hiarratais nua rochtana ar ár API. Sroichfidh ár bhfoireann dhomhanda bainisteoirí comhpháirtíochta chuig comhpháirtithe ionchasacha bunaithe ar an deis soláthair a léiríonn do ghnó, neart do theicneolaíochta, agus an cumas tacú lenár gcustaiméirí comhroinnte. " Suíomh Gréasáin Airbnb

Dá mbeimis ag cur le chéile feidhmchlár d’úsáideoirí a ligfeadh dóibh gníomhartha a dhéanamh (ie liostaí nuashonraithe) ansin ba bhreá linn rochtain dhíreach a bheith againn ar API Airbnb. Is dóichí go dtiocfadh an rochtain seo trí thríú páirtí seachas Airbnb.

Sula dtógfaí tionscadal bheadh ​​sé úsáideach fios a bheith agat go díreach cén cineál sonraí atá uait le haghaidh na gceisteanna atá tú ag iarraidh a fhreagairt. D’fhéadfadh an fhaisnéis a fhaighimid ó API Mashvisor:

  • Cuir óstach Airbnb ar an eolas faoi cibé an bhfuil siad ag déanamh cinneadh maith nó olc liosta a dhéanamh ina gceantar féin
  • Cuidigh le taistealaithe a fháil amach an bhfuil sé eacnamaíoch Airbnb nó soláthraithe cíosa eile a úsáid

Tá an Mashvisor anailíseach agus faisnéiseach den chuid is mó agus ní dhéanann sé gníomhartha d’úsáideoirí ar a gcuntas.

Tá go leor roghanna leis an API seo, ach ar dtús táim chun plé a dhéanamh ar conas é a úsáid. Ansin beimid saor chun greim a fháil ar na staitisticí a theastaíonn uainn chun cabhrú linn féin (nó lenár n-úsáideoirí) cinntí eastáit réadaigh bunaithe ar shonraí a dhéanamh.

Conas API Mashvisor a Úsáid chun Sonraí Airbnb a Fháil

Beidh cuntas ag teastáil uainn le RapidAPI agus síntiús chun API Mashvisor a úsáid (féach an doiciméadacht API anseo).

Roghnaigh an síntiús Bunúsach a thugann céad glao API dúinn in aghaidh na míosa. Tar éis an chéad chéad, cosnóidh sé $ 0.10 in aghaidh na hiarrata. Cuimhnigh, is féidir linn ár n-úsáid a fheiceáil agus a bhainistiú i gcónaí ar phainéal forbróir RapidAPI. Níor chóir duit dul chuig do chuóta sa sampla níos déanaí, ach má bhraitheann tú go bhfuil tú ag druidim leat, bíodh an painéal réidh agat.

Gan ach céad in aghaidh na míosa againn, caithfimid a bheith cliste faoin gcaoi a bhfuilimid ag breith ar shonraí agus cé mhéid de na sonraí sin a bhíonn á mbaint againn ag an am. Gheobhaidh muid faisnéis chabhrach ar leathanach API. Ar RapidAPI, déan cuardach ar “Mashvisor” agus roghnaigh an rogha tar éis é a chur isteach.

Liostaíonn an chuid ar chlé iarratais HTTP is féidir linn a dhéanamh. Má roghnaímid cineál iarratais taispeánfaidh an chuid lár dúinn na paraiméadair roghnacha agus riachtanacha don iarraidh sin.

Ag barr na coda lár, tabharfaidh tú faoi deara cur síos gairid ar gach críochphointe.

Is ionchuir iad paraiméadair an rannáin lár i ndáiríre, agus má athraímid na hionchuir sin d’athródh na snippets cód sa chuid cheart freisin! Tá freagraí samplacha sa chuid cheart freisin ionas gur féidir linn meastóireacht a dhéanamh ar na sonraí a gheobhaimid ón gcríochphointe.

Ag barr na coda cearta, tá titim anuas inar féidir linn teangacha éagsúla agus leabharlanna éagsúla a roghnú laistigh den teanga sin. Seasann na snippets cód amach mar gheall ar an dathú breise a bhaineann go sonrach leis an teanga. Táimid chun an tógálaí snippet seo a úsáid le haghaidh ár bhfeidhmchlár líne ordaithe NodeJS.

Cibé áit a fheiceann tú “Cíos Gearrthéarmach”, an chuid is mó den am, ciallaíonn sé Airbnb.

Tá roinnt scóir tuartha ag Mashvisor, a ghineann siad lena halgartaim féin, lena n-áirítear;

  • Mashmeter
  • Moladh Maoine
  • Dóchúlacht Infheistíochta

Díobh seo, nílimid chun an Mashmeter a úsáid ach sa sampla, a thuairiscítear mar:

Scór uathúil deartha ag Mashvisor a thaispeánann meastóireacht fhoriomlán ar an deis infheistíochta comharsanachta mar chéatadán.

D’fhéadfá níos mó a léamh faoi aon cheann de na scóir seo ar leathanach painéal API Mashvisor.

Tá súil agam go bhfuil tú ar bís feidhmchlár líne ordaithe NodeJS a thógáil a ligfidh dúinn tuarascálacha pearsantaithe infheistíochta a chruthú bunaithe ar ár gcomharsanacht áitiúil!

Iarratas Samplach: Ar cheart dom Cíos a Thraidisiúnú go traidisiúnta nó Liosta a dhéanamh ar Airbnb?

Soláthraíonn Mashvisor faisnéis anailíseach chabhrach, agus mar sin táimid chun comhéadan líne ordaithe a thógáil ag baint úsáide as NodeJS a bhaileoidh staitisticí chun cabhrú leis an gceist a fhreagairt, “Bunaithe ar an gcomharsanacht a bhfuil cónaí orm ann, ar cheart dom gearrthéarmach a fháil ar cíos le Airbnb nó go traidisiúnta? " . Ní bhuailfidh an feidhmchlár ach cúpla críochphointe ach d’fhéadfaí é a leathnú chun go leor cineálacha tuairiscí a aschur.

Úsáidfidh sé leabharlanna móréilimh npm mar Yargs, Axios, agus Chalk. Úsáidfidh sé uirlisí NodeJS cosúil le dístruchtúrú, async / fanacht, bloic iarracht / gabhála, agus litreacha sreanga.

Tá súil agam go spreagfaidh sé thú rud éigin níos mó agus níos fearr a thógáil, mar sin déanaimis tosú!

Réamhriachtanais

  • Beidh roinnt eolais agat ar conas uirlis líne ordaithe a oscailt agus a úsáid.
  • Tuiscint bhunúsach ar NodeJS nó JavaScript
  • Beidh ceann de na leaganacha is nua de nód uait. Tá 10.16 á úsáid agam agus leagan de npm suiteáilte le déanaí. Tá 6.13.0 á úsáid agam, ach is maith an rud é 5.6 ar a laghad a bheith agam.
  • Nasc idirlín.
  • Beidh mé ag úsáid uirlis líne ordaithe bash UNIX ar macOS. Mar sin féin, is féidir an líne ordaithe seo a shuiteáil ar Windows 10.
  • Cuntas RapidAPI agus síntiús bunúsach (saor in aisce) le API Mashvisor.

An Tionscadal a Bhunú

  1. Oscail críochfort nua (barra Command-Space, ansin déan cuardach ar 'críochfort' ar Mac).
  2. Téigh go dtí eolaire a bhfuil ciall leis an ordú cd a úsáid. Chun a fháil amach cad iad na heolairí atá faoi bhun an eolaire reatha iontráil cd ansin bhuail Tab faoi dhó. Taispeánfaidh na roghanna eolaire. Anois, is féidir orduithe a reáchtáil a leanann an fhormáid seo -> cd lower_directory / eolaire_below_that_that.
  3. Cruthaigh eolaire nua leis an ordú mkdir [name_of_directory]
  4. cd isteach san eolaire sin. Is féidir leat seiceáil a dhéanamh chun a chinntiú go bhfuil tú san áit cheart trí pwd a rith. Seasann sé seo don Eolaire Oibre Priontála.
  5. Cuir tús le modúl nua npm trí npm init -y a reáchtáil. Dá rithfí an t-ordú gan an -y ansin thaispeánfaí ceisteanna a iarrfadh ort cur síos agus sainiú a dhéanamh ar ghnéithe den mhodúl npm nua. Ní gá é sin a dhéanamh don rang teagaisc seo agus an t-ordú a rith leis an mbrat-scipeáil an próiseas seo. Coinnigh an teirminéal seo oscailte mar beimid ag suiteáil pacáistí npm níos déanaí, agus ag rith orduithe ón eolaire fréimhe-thionscadail.
  6. Oscail eolaire an tionscadail san eagarthóir cód is rogha leat. Tá Cód Stiúideo Amharc á úsáid agam ionas go ndéanfaidh mé forghníomhú a osclaíonn VSCode san eolaire ina bhfuil mé faoi láthair.

Tá tionscadal úr NodeJS againn anois le bheith ag obair leis.

Argóintí Líne Ordaithe a Thuiscint

Tógfaidh an tionscadal seo tuarascálacha bunaithe ar shonraí a chuir API Mashvisor ar ais. Beimid ag iarraidh an cumas na sonraí sin a stóráil. Ciallaíonn sé seo go gcaithfimid na horduithe a chur leis, a fheiceáil, a liostáil agus a bhaint. Táimid chun an leabharlann Yargs a úsáid chun é seo a dhéanamh inár dtionscadal, ach ar dtús, teastaíonn tuiscint níos mó uainn ar an gcaoi a bhfuilimid chun argóintí a rith lenár n-orduithe.

  1. Cruthaigh comhad darb ainm cli.js san eolaire tionscadail.
  2. Cuir isteach an cód console.log (process.argv)
  3. Cuir an t-ordú seo a leanas isteach sa teirminéal: "tástáil" nód cli.js. Ba chóir go mbeadh liosta ar taispeáint le cúpla earra. Ba chóir go mbeadh “tástáil” ar cheann de na míreanna sin. Déanann an t-ordú a rith muid na comhaid cli.js a fhorghníomhú ag baint úsáide as NodeJS agus stórálann sé an argóint a thugaimid dó mar in eagar ar féidir linn rochtain a fháil uirthi sa chomhad. Seo mar a bheimid ag tabhairt sonraí isteach inár dtionscadal.

Ach, d’fhéadfadh sé a bheith praiseach rochtain a fháil ar an athróg seo. Bheadh ​​cuma rud cosúil le process.argv [2]. Buíochas le Dia, tá leabharlann npm ann a cheanglaíonn na hargóintí seo le réad agus a thugann an cumas dúinn orduithe a thógáil bunaithe ar na hargóintí seo: Yargs.

4. Téigh ar ais go dtí an teirminéal agus suiteáil Yargs leis an ordú npm install yargs --save.

5. I cli.js caithfimid ár modúl nua a iompórtáil agus ár réad nua a pharsáil. Cuir an cód thíos leis an gcomhad sin.

6. Iontráil nód cli.js --argument = "tástáil". Ba cheart go bhfeicfeá ár gcéad argóint logáilte isteach agus réad nua a bhfuil ‘tástáil’ argóinte agus luach 'eochair' aige

Ag Tógáil ár n-Orduithe

  1. Déan eolaire nua ag ár bhfréamh tionscadail, cmds.
  2. Déan eolaire eile taobh istigh den tuarascáil ainmnithe sin_cmds.
  3. Cruthaigh an comhad add.js taobh istigh de reports_cmds.

D’fhéadfaimis ár n-orduithe go léir a chur sa chomhad céanna, ach d’fhéadfadh sé sin dul amú. Ina áit sin, táimid chun ár n-aip a thógáil agus beidh a chomhad féin ag gach ordú.

4. Cuir na míreanna seo a leanas le add.js.

export.command = 'add' // command name export.desc = 'Cuireann sé tuarascáil nua' // tuairisc ar ordú export.builder = {} // argóintí a thógáil agus a thuairisciú export.handler = function (argv) {console.log ("Cuireann tuarascáil nua leis") // feidhm le rith nuair a ghlaoitear ordú}

Sa chomhad seo táimid ag onnmhairiú airíonna den ordú 'cuir'.

  • ordú: an chomhréir don ordú
  • desc: an tuairisc ar a ndéanann an t-ordú
  • tógálaí: Déan cur síos ar na hargóintí a nglacann ár gceannas leo
  • láimhseálaí: feidhm le rith nuair a eisítear an t-ordú.

Dá rithimis ordú mar nód cli.js add bheimis ag súil go rithfeadh sé seo. Ní oibreoidh sé seo áfach toisc nach bhfuil Yargs aineolach ar ár n-eolaire ordaithe. Caithfimid cúpla athrú a dhéanamh ionas gur féidir é a fháil.

5. I cli.js cuir an cód thíos in ionad an chóid uile atá againn ann;

éilíonn ('yargs') .commandDir ('cmds') // aimsíonn eolaire ordaithe .demandCommand () .help () // ligeann dúinn an t-ordú cabhrach a úsáid .argv // parses na hargóintí

D’fhéadfadh sé seo a bheith mearbhall breathnú air, ach táimid ag tógáil modúl ordaithe a ligeann dúinn orduithe casta a thógáil. Más mian leat go mbainfear níos mó comhthéacs don struchtúr cód seo ó dhoiciméadú yargs.

6. Cruthaigh comhad sa cmds / eolaire ainmnithe reports.js. Beidh an chuma ar an gcomhad seo cosúil le cli.js.

// tuairiscí.js
export.mand = 'tuairiscí 'export.desc =' Bainistigh tuairiscí 'export.builder = feidhm (yargs) {faigh ar ais yargs.commandDir (' report_cmds ') // aimsigh orduithe tuarascála} export.handler = feidhm (argv) {}

Tabharfaidh tú faoi deara go bhfuil cuma beagáinín difriúil ar an ordú sa chomhad seo. An chomhréir is áititheoir é ag cur in iúl go bhfuil an argóint éigeantach. Dá mbeadh an t-ordú roghnach bheadh ​​sé fillte i [].

7. Sa chríochfort, fós, ag fréamh ár n-eolaire, eisigh cabhair an nód ordaithe cli.js.

Orduithe: tuairiscí cli.js. Bainistigh tuairiscí
Roghanna: --version Taispeáin uimhir leagain [boole] --help Taispeáin cabhair [boole]

Ba cheart duit tuairisc ar ár n-ordú (ó thuarascálacha.js) a fheiceáil chomh maith le roghanna eile. Bain triail eile as, ach an uair seo cuir isteach tuairiscí cli.js nód cabhraíonn.

Ba cheart duit ár n-ordú breise a fheiceáil lena thuairisc.

Orduithe: Cuireann tuairiscí cli.js le tuarascáil nua

8. Ar ais arís in add.js caithfimid argóintí a chur ar bun a bheimid ag dul mar pharaiméadair dár nglao API. Beidh an chuma seo ar an gceannas:

Ciallaíonn sé seo go dtógann an breiseán trí argóint riachtanach. Úsáidfear an réad easpórtála.builder chun cur síos a dhéanamh ar an argóint, í a mharcáil de réir mar is gá nó nach bhfuil, agus chun mionsonraí a thabhairt faoin gcineál argóna (sreang, uimhir, srl.).

// add.js
... export.builder = {name: {déan cur síos ar: 'Ainm na tuarascála.', éileamhOption: fíor, // déanann sé an cineál riachtanach: 'sreang' // sainmhínigh réad}, ... ...

9. Cuir an cód thíos le add.js

export.command = 'cuir 'exports.desc =' Cuir tuarascáil nua leis 'export.builder = {name: {déan cur síos ar:' Ainm na tuarascála. ', éileamhOption: fíor, cineál:' sreang '}, suíomh: {déan cur síos:' Aitheantas comharsanachta Mashvisor chun sonraí a tharraingt le haghaidh. ', éileamhOption: fíor, cineál:' uimhir '}, luaigh: {déan cur síos ar:' Luaigh sonraí a tharraingt dóibh. ', éileamhOption: fíor, cineál:' sreang '},} onnmhairí.handler = feidhm (argv) { console.log ('Cuireann an tuarascáil leis')}

Is é seo ár gcéad ordú fíor. Tógann sé trí argóint. Níl feidhm aige le rith nuair a ghlaoitear air ach is gearr go mbeidh.

10. Cuidíonn tuairiscí nód cli.js nód a reáchtáil agus féachaint ar ár n-ordú breise le hargóintí agus tuairiscí. Ina theannta sin, is féidir leat tuairiscí nód cli.js a chur leis, a dteipfidh orthu, ach taispeánfaidh sé na tuairiscí agus na cineálacha argóintí a theastaíonn ón ordú.

11. Tá na comhaid don liosta, amharc, agus orduithe a bhaint an-chosúil. Ar mhaithe le ham, cruthaigh gach comhad sa tuarascáil_cmds / eolaire (list.js, remove.js, view.js) agus cuir an cód comhfhreagrach leis na comhaid sin.

// liosta.js
exports.command = 'list' export.desc = 'Liostaigh gach tuarascáil' export.handler = () => {console.log ('Liostaigh gach teideal tuairisc')}
Féach an cód iomlán ag https://rapidapi.com/blog/mashvisor-api-airbnb-data/

Láimhseálaithe Feidhm Bhunúsach a Chruthú

Tá láimhseálaí ag gach ordú. Is feidhm í seo ar a dtugtar nuair a eisítear an t-ordú. Caithfimid na feidhmeanna sin a chruthú, ach táimid chun é a dhéanamh i gcomhad ar leithligh.

  1. I eolaire fréimhe an tionscadail cruthaigh comhad reports.js.
  2. Sa chomhad sin, beidh feidhmeanna againn le haghaidh ár n-orduithe. Caithfimid na feidhmeanna sin a easpórtáil ón gcomhad.
const listReports = () => {// liostaí teidil tuarascála}
const addReport = async (ainm, comharsanachtId) => {// cuireann sé tuarascáil}
const viewReport = (name) => {// priontaí tuairiscithe sonraí}
const removeReport = (name) => {// baintear an tuarascáil ó thuarascálacha.json}
module.exports = {addReport, removeReport, listReports, viewReport,}

Stórálfar ár sonraí tuarascála mar liosta i gcomhad áitiúil. Seo an áit a léifidh muid, a shábháil, a luchtú agus a bhainfimid sonraí tuairiscithe.

3. Cruthaigh an comhad reports.json ag bun an eolaire agus cuir liosta ann a bhfuil oibiacht samplach ann [{"name": "test", "location": 54678}]

Teastaíonn dhá fheidhm chúntóra uainn a luchtaíonn na tuairiscí ó reports.json agus ceann a shábhálann na tuairiscí ar ais sa chomhad sin. Déanfaimid é seo trí úsáid a bhaint as an modúl fs ionsuite ó NodeJS. Beidh orainn é a éileamh ag barr na dtuarascálacha.js.

4. Cuir an cód seo le barr na dtuarascálacha.js.

const fs = a cheangal ('fs')
const loadReports = () => {bain triail as {let reportsBuffer = fs.readFileSync ('./ reports.json'); // comhad a aimsiú agus a luchtú lig tuairiscíJson = reportsBuffer.toString (); // maolán a thiontú go sreangán ar ais JSON.parse (reportsJson); // parse string to object} gabháil (e) {filleadh []; }}
const saveReports = (tuarascálacha) => {const dataJson = JSON.stringify (tuarascálacha); fs.writeFileSync ('tuairiscí.json', dataJson); } ...

5. Anois is féidir linn feidhm an liosta a chruthú. Is feidhm shimplí í seo a ghlacann leis na tuairiscí, ansin a phriontálann teidil na tuarascála chuig an consól. Táimid chun é a spiceáil suas le leabharlann Chalk. Suiteáil an leabharlann cailc le npm install cailc - sábh

Cuireann cailc dathú le haschur an chonsóil. Is féidir leat níos mó a léamh faoi chailc ar a leathanach npm.

6. Críochnaigh feidhm an liosta i reports.js agus allmhairigh Cailc ag barr an chomhaid

const cailc = a cheangal ('cailc') ... const listReports = () => {tuairiscí tuairiscithe = loadReports (); tuairiscí.map ((tuarascáil, i) => {console.warn (chalk.white.bgBlue (`$ {report.name}`));})} ...

Táimid beagnach réidh chun ár gcéad ordú a thástáil, ach níl an fheidhm seo curtha san áireamh againn sa chomhad ordaithe list.js.

7. I liosta.js cuir tuairiscí.listReports () in ionad console.log ('Liostaigh gach teideal tuarascála') agus ag barr an chomhaid cuir;

tuarascálacha const = a cheangal ('../../ tuarascálacha');

8. Rith liosta tuairiscí nód cli.js. Ba cheart duit ainm ár dtuairisce amháin, agus an t-aon tuairisc amháin, a fheiceáil a phriontáil chuig an consól le cúlra gorm.

Ar aghaidh, déanaimis aire a thabhairt go tapa don ordú um bhaint. Tá ainm (ainm na tuarascála) san fheidhm seo agus ansin baintear í ó liosta na dtuairiscí i dtuairiscí.json. Baintear é trí gan é a shábháil ar ais sa chomhad leis an gcuid eile de na tuairiscí tar éis é a scagadh amach.

9. Cuir an cód seo leis an bhfeidhm bain i dtuarascálacha.js

... const removeReport = (name) => {bain triail as {const reports = loadReports (); // load reports in let newReports = reports.filter (report => report.name! == ainm); // scagaire chun tuairiscí a fháil nach bhfuil comhoiriúnach lena n-ainm más rud é (reports.length> newReports.length) {saveReports (newReports); // sábháil liosta tuairiscí nua chun console.log (chalk.green.inverse ('Tuarascáil bainte!'))} eile {console.log (chalk.red.inverse ('Níor aimsíodh an tuarascáil')); }} ghabháil (e) {filleadh e}} ...

10. Cuir an fheidhm le remove.js in ionad console.log (...) agus iompórtálann an réad tuarascálacha.

// remove.js
tuarascálacha const = a cheangal ('../../ tuarascálacha') ... ... export.handler = feidhm (argv) {reports.removeReport (argv.name)}

Tabhair faoi deara go bhfuilimid ag cur argóint an ainm leis an bhfeidhm tríd an réad argv. Taobh istigh den réad sin beidh “ainm” na maoine a choinníonn an luach a aistrítear ón líne ordaithe.

Tá sé thar am faoi dheireadh an t-ordú breise a thógáil a ghnóthóidh sonraí Airbnb-agus eastát réadach traidisiúnta ó API Mashvisor.

Sonraí a Fháil ó Mashvisor (Comhtháthú API Airbnb)

An t-ordú breise;

  • Faigh sonraí ó Mashvisor
  • Roghnaigh na sonraí a theastaíonn uainn a choinneáil
  • Sábháil na sonraí sin chuig reports.json

Táimid chun ár nglaonna HTTP a thógáil i gcomhad ar leithligh le Axios. Déan cinnte go bhfuil tú fós i bhfréamh eolaire an tionscadail.

2. Cruthaigh an comhad api.js ag bun an tionscadail. Sa chomhad seo iompórtáil axios agus cuir an cód seo a leanas leis ionas go mbeidh an chuma ar an gcomhad mar seo:

const axios = a cheangal ('axios')
const instance = axios.create ({teorainn ama: 1000, ceanntásca: cuirfear {// ceanntásca a chuirtear leis seo i bhfeidhm ar gach 'cás' // thíos i modúl.exports}});
module.exports = {util: {// táimid chun ár nglaonna API a chur leis anseo getNeighborhoodOverview: (cathair, stát) => shampla ({})}, airbnb: {// airbnb api glaonna anseo}, traidisiúnta: {/ / glaonna traidisiúnta api anseo}}
féach an cód iomlán ag https://rapidapi.com/blog/mashvisor-api-airbnb-data/

Is féidir linn ár nglaonna API go léir a chruthú i gcomhad amháin agus iad a easpórtáil mar fheidhmeanna atá ceangailte le rudaí éagsúla. Tabhair faoi deara go bhfuil feidhm á cruthú againn ar an réad úsáide ar a dtugtar 'getNeighborhoodOverview' agus ag cur dhá cheann dár n-argóintí líne ordaithe 'neighII' agus 'state' ar aghaidh.

Cuidíonn sé seo lenár gcód a eagrú agus tugann sé deis dúinn sampla Axios a chruthú a stórálann na ceanntásca a theastaíonn uainn le haghaidh gach iarrata.

Ar an drochuair, ní féidir liom sonraí a fháil faoi leabharlann agus cásanna Axios, ach is féidir leat léamh faoi anseo.

3. Sa bhrabhsálaí, téigh chuig API Mashvisor, agus ar an bpainéal ar chlé, faoin gcluaisín ‘Cuardaigh’ roghnaigh ‘Forbhreathnú Comharsanachta’.

4. Sa phainéal ceart ar an leathanach sin roghnaigh an cód anuas agus faigh 'Node.js'. Ba chóir go mbeadh barra taobh eile ann a bhfuil ‘Axios’ liostaithe air. Faigh é agus roghnaigh 'Axios'.

Tá ceanntásca HTTP le cur sa chás Axios ag an mbarr. Tá an modh, url, agus params ag dul taobh istigh dár nglao feidhme. Tar éis na sonraí ábhartha a bhaint as an gcipín cód, ba cheart go mbeadh an cód seo sa chomhad ag api.js.

const axios = a cheangal ('axios') 
féach an cód iomlán ag https://rapidapi.com/blog/mashvisor-api-airbnb-data/

Is í an fhadhb leis an URL reatha ná nach bhfuil sé dinimiciúil. Ní mór dúinn na hathróga ón líne ordaithe a rith go díreach isteach sa téad.

5. Cuir cúltaca `in ionad gach luachan ar dhá cheann an URL. Cruthaíonn sé seo sreangán liteartha agus ligeann dúinn athróga a ionchur sa téad leis an gcomhréir $ {caochlaideachName}.

6. Cuir $ {neighII} agus luach paraiméadar an stáit in ionad an athróg stáit sa URL ionas go mbeidh an chuma seo ar ár nglao API taobh istigh:

... "method": "GET", "url": `https: //mashvisor-api.p.rapidapi.com/neighborhood/$ {neighbourId} / bar`," params ": {" state ": luaigh } ...

Anois go bhfuil ár gcéad ghlao API curtha ar bun againn caithfimid an fheidhm sin a iompórtáil isteach i reports.js agus é a ghlaoch taobh istigh dár bhfeidhm addReport.

7. Iompórtáil {util} i dtuairiscí.js agus glaoigh air go neamhshioncronach san fheidhm.

... const {util} = a cheangal ('./ api') ...
... const addReport = async (ainm, comharsanachtId, luaigh) => {bain triail as {// {data: [ainm]} tarraingíonn sé réad sonraí as an bhfreagra agus athainmníonn sé // Faigh sonraí le haghaidh forbhreathnú comharsanachta const {data :viewData} = fanacht le util.getNeighborhoodOverview (comharsanachtId, luaigh)
// Cuidigh le doimhneacht réada éadomhain const neighOverview =viewData.content;
} ghabháil (e) {console.log (e) filleadh console.log (chalk.red.inverse ('Tuarascáil sonraí maidir le hearráidí agus earráidí'))}} ...

Snuck mé cúpla rud eile isteach sa bhreis cód seo. Táimid ag déanamh scrios ar fhreagairt Axios tríd an maoin ‘sonraí’ a bhaint den réad freagartha sin agus a athainmniú mar ‘viewData ’.

Ansin, táimid ag dul níos doimhne isteach i gcorp freagartha na hathróg comharsanachtaOverview toisc go bhfuil an t-ábhar beagán níos faide síos. Tá a fhios againn faoi seo trí bhreathnú ar na freagraí samplacha ar phainéal RapidAPI.

Tá ceithre rud in easnamh san fheidhm seo:

  1. Luchtú i dtuarascálacha
  2. Seiceáil ainm dúblach
  3. Sonraí a roghnú ón réad freagartha
  4. Tuarascálacha a shábháil

8. Cuir glao ar loadReports () ag barr na feidhme addReport () agus sábháil an toradh ar thuairiscí inathraithe.

9. Úsáid feidhm Javascript find () chun tuairiscí a aithris agus ainm dúblach a chuardach.

10. Mura bhfuil dúblach ann, glaoigh ar an API, má tá, logáil an teachtaireacht a mhíníonn é seo. Tar éis na breiseanna seo, beidh an cód ag an bhfeidhm;

... const addReport = async (ainm, comharsanachtId, luaigh) => {tuarascálacha const = loadReports (); const duplicateReport = reports.find (tuarascáil => tuarascáil.name === ainm);
más rud é (! duplicateReport) {bain triail as {// {data: [ainm]} go dtarraingíonn réad sonraí as an bhfreagra agus go n-athainmníonn sé // Faigh sonraí le haghaidh forbhreathnú comharsanachta const {data :viewData} = fanacht / Cuidigh le doimhneacht réada éadomhain a bhaint amach, comharsanacht = forbhreathnúData.content;
} ghabháil (e) {console.log (e) filleadh console.log (chalk.red.inverse ('Tuarascáil sonraí maidir le hearráidí'))}} eile {console.log (chalk.red.inverse ('Tá an tuarascáil ann cheana' ' ))}} ...

Beidh sé furasta sonraí na tuarascála a shábháil. Níl le déanamh againn ach é a bhrú chun athróg ár dtuarascálacha agus ansin an fheidhm saveReports () a ghlaoch. Roimhe sin, caithfimid na sonraí a theastaíonn uainn ón bhfreagra a pharsáil.

11. Cruthaigh fillteán úsáide ag bun ár n-eolaire agus cuir an comhad cleanData.js leis.

Tá a fhios agam gur cosúil go bhfuil sé deacair na comhaid agus na fillteáin seo go léir a chruthú, ach má tá súil againn feidhmchláir níos mó agus níos spreagúla a thógáil tá sé tábhachtach go dtabharfaimis aird ar eagrú ár dtionscadail. Nílimid ag iarraidh praiseach a dhéanamh.

Tá an fheidhm seo chun glacadh leis an réad freagartha beag, na luachanna a shannadh d’airíonna nua, agus ansin an réad a chur ar ais. Rinne mé spléachadh cheana féin ar an réad freagartha i dashboard RapidAPI agus roghnaigh mé Airbnb agus sonraí traidisiúnta eastáit réadaigh ón réad le húsáid.

Is cosúil go mbeidh go leor cód ag baint leis seo ach níl sa chuid is mó de ach athróg agus sannadh réad.

12. Cuir an cód thíos le cleanData.js.

const cleanData = async (ainm, comharsanachtId) => {
// Faigh sonraí ón réad freagartha agus sann siad d'athróga nua const airbnb_properties = neighOverview.num_of_airbnb_properties; const traditional_properties = comharsanachtOverview.num_of_traditional_properties; const mash_meter = comharsanachtOverview.mashMeter; const avg_occupancy = comharsanachtOverview.avg_occupancy; const roi_airbnb = comharsanachtOverview.airbnb_rental.roi; const roi_traditional = comharsanachtOverview.traditional_rental.roi; const cap_rate_airbnb = comharsanachtOverview.airbnb_rental.cap_rate; const cap_rate_traditional = comharsanachtOverview.traditional_rental.cap_rate; const rent_income_airbnb = comharsanachtOverview.airbnb_rental.rental_income; const rent_income_traditional = comharsanachtOverview.traditional_rental.rental_income;
// Cruthaigh réad a thabharfar ar ais agus a chuirfear leis na tuairiscí féach an chuid eile ag https://rapidapi.com/blog/mashvisor-api-airbnb-data/

Tá réad againn anois le deich bpointe sonraí úsáideacha faoi Airbnb agus réadmhaoine traidisiúnta ar cíos i gcomharsanacht ar leith.

13. Faigh an réad sin ar ais san fheidhm addReport () agus sábháil é chuig ár gcomhad reports.json. Ní mór dúinn a chinntiú freisin go bhfuil an fheidhm cleanData () á iompórtáil againn. Ba chóir go mbeadh an comhad agus an fheidhm cosúil anois;

... const cleanData = a cheangal ('./ util / cleanData')
... const addReport = async (ainm, comharsanachtId) => {tuarascálacha const = loadReports (); const duplicateReport = reports.find (tuarascáil => tuarascáil.name === ainm);
féach an chuid eile ag https://rapidapi.com/blog/mashvisor-api-airbnb-data/

Tá sé tamall ó d’úsáid muid an líne ordaithe, ach tá sé thar am an breiseán ordaithe a thástáil chun a chinntiú go bhfuil ár bhfeidhmiú á bhaint amach ag ár n-orduithe i ndáiríre.

Dá ndéanfaimis iarracht na hargóintí maidir le hainm, suíomh agus stát a rith tríd an líne ordaithe theipfeadh air. Níor chuir muid an glao feidhme addReport (argv.name, argv.location, argv.state) lenár láimhseálaí breise ordaithe.

14. Iompórtáil an fheidhm addReport agus glaoigh uirthi in add.js. Bí cinnte na trí argóint atá á dtarraingt ón réad argv a áireamh.

Beidh an cód anois ag an gcomhad:

tuarascálacha const = a cheangal ('../../ tuarascálacha');
export.command = 'cuir 'exports.desc =' Cuir tuarascáil nua leis 'export.builder = {name: {déan cur síos ar:' Ainm na tuarascála. ', éileamhOption: fíor, cineál:' sreang '}, suíomh: {déan cur síos:' Aitheantas comharsanachta Mashvisor chun sonraí a tharraingt le haghaidh. ', éileamhOption: fíor, cineál:' uimhir '}, luaigh: {déan cur síos ar:' Luaigh sonraí a tharraingt dóibh. ', éileamhOption: fíor, cineál:' sreang '},} onnmhairí.handler = feidhm (argv) { tuarascálacha.addReport (argv.name, argv.location, argv.state)}

Déanaimis tástáil go bhfuil na hargóintí ag dul isteach san fheidhm addReport ().

15. Déan trácht ar ghlao API san fheidhm agus cuir:

console.log (ainm, comharsanachtId, luaigh)

Os cionn an chóid a luaitear. Sula gcaitear an earráid ba cheart dó na hargóintí a logáil.

16. Cuireann tuairiscí nód cli.js nód le "tástáil" 45624 "WA"

// aschur consól ... tástáil 45624 WA // ár n-argóintí a rinneamar! ReferenceError: ní shainmhínítear forbhreathnúData // an chuid eile den chruach ...

Foirfe! Tá ár n-argóintí ag déanamh a mbealach chun na feidhme agus is féidir iad a úsáid anois sa ghlao API chuig Mashvisor.

17. Uncomment an cód agus scriosadh an log consól. Rith an t-ordú seo a leanas chun ár gcéad tuarascáil iarbhír a chur leis:

cuireann tuairiscí nód cli.js "an chéad tuarascáil" 271841 "WA"

Seiceáil taobh istigh de reports.json agus ba cheart duit ár sonraí samplacha agus ár gcéad sonraí tuarascála a fheiceáil!

Tá dhá rud eile fágtha nach mór dúinn a dhéanamh.

  1. Críochnaigh an fheidhm viewReport (ainm) ionas gur féidir linn na sonraí seo a thaispeáint ar bhealach deas.
  2. Scríobh ordú a aimsíonn an chomharsanacht is gaire dár suíomh reatha.

An Fheidhm Amharc

Sa fheidhm seo caithfimid:

  • Luchtaigh na tuairiscí (tá feidhm againn chuige sin)
  • Féach an bhfuil an t-ainm tugtha rite sa tá argóint bailí, agus;
  • Glaoigh ar fheidhm a phriontaíonn na tuairiscí

Táimid chun cód beagnach mar an gcéanna a úsáid ón bhfeidhm add.

// reports.js ... const viewReport = (name) => {tuairiscí tuairiscithe = loadReports (); lig aimsithe = reports.find ((tuarascáil) => report.name === ainm) // má aimsítear an tuarascáil glaoigh ar fheidhm a phriontálann na sonraí chun consól} ...

2. Cuir bloc má / eile ar bun chun feidhm a ghlaoch má aimsítear tuarascáil leis an ainm sin. Mura ndéantar cluichí a thuairisciú, logáil isteach nach bhféadfaí an tuarascáil a fháil.

// reports.js ... const viewReport = (name) => {tuairiscí tuairiscithe = loadReports (); lig aimsithe = reports.find ((tuarascáil) => report.name === ainm) más rud é (fuarthas) {printBasicReport (aimsithe); // níl sé ann fós} eile {console.log (chalk.red.inverse ('Níorbh fhéidir an tuarascáil sin a fháil.'))}} ...

Níl an fheidhm printBasicReport (aimsithe) ann fós.

3. Cruthaigh eolaire nua ag bun an tionscadail darb ainm print_report agus laistigh den eolaire sin déan comhad leis an ainm printBasicReports.js.

Táimid chun sraith a thógáil le eagair níos lú mar luachanna. Beidh dhá rud ag baint le gach eagar.

  1. An lipéad do na sonraí atá á bpriontáil againn.
  2. Na sonraí comhfhreagracha ón réad aimsithe go bhfuilimid á rith.

4. Iontráil an cód thíos inár gcomhad nua.

// printBasicReport.js
const printBasicReport = (aimsithe) => {
const reportLines = [["Ainm na Tuarascála", found.name], ["Suíomh", found.neighborhoodId], ["Airbnb Properties", found.airbnb_properties], ["Airíonna Traidisiúnta", found.traditional_properties], ["Mash Méadar ", found.mash_meter], [" Avg. Áitíocht ", found.avg_occupancy], [" ROI - Airbnb ", found.roi_airbnb], [" ROI - Traidisiúnta ", found.roi_traditional], [" Ráta Cap - Airbnb ", found.cap_rate_airbnb], [" Ráta Cap - Traidisiúnta ", found.cap_rate_traditional], [" Ioncam Cíosa - Airbnb ", found.rental_income_airbnb], [" Ioncam Cíosa - Traidisiúnta ", found.rental_income_traditional],]
// iterate thar na míreanna agus iad a phriontáil chun consól}
module.exports = printBasicReport;

Táimid ag tarraingt earraí as an réad aimsithe agus á mheaitseáil le lipéad atá níos éasca a léamh.

Ar aghaidh, cuir Cailc leis an bpróiseas agus consól.log () ár gcuid sonraí agus lipéid.

5. Beidh an cód ag an gcomhad deiridh printBasicReports.js;

cailc const = éilíonn ('cailc') // cailc allmhairithe
const printBasicReport = (aimsithe) => {const labelText = cailc.white.bgCyan; // feidhm a chruthú ag baint úsáide as cailc
const reportLines = [["Ainm na Tuarascála", found.name], ["Suíomh", found.neighborhoodId], ["Airbnb Properties", found.airbnb_properties], ["Airíonna Traidisiúnta", found.traditional_properties], ["Mash Méadar ", found.mash_meter], [" Avg. Áitíocht ", found.avg_occupancy], [" ROI - Airbnb ", found.roi_airbnb], [" ROI - Traidisiúnta ", found.roi_traditional], [" Ráta Cap - Airbnb ", found.cap_rate_airbnb], [" Ráta Cap - Traidisiúnta ", found.cap_rate_traditional], [" Ioncam Cíosa - Airbnb ", found.rental_income_airbnb], [" Ioncam Cíosa - Traidisiúnta ", found.rental_income_traditional],]
// iterate thar na línte ag cur roinnt tuarascála formáiditheLines.map (line => {console.log (labelText (líne [0]) + ": \ n \ t" + "----" + líne [1])} )}
module.exports = printBasicReport;

6. Téigh ar ais chuig reports.js agus iompórtáil an fheidhm nua ag an mbarr

// tuairiscí. js ... const printBasicReport = a cheangal ('./ print_report / printBasicReport') ...

Tá an t-ordú seo beagnach réidh le húsáid, ach caithfimid an fheidhm a chur le view.js

7. Cuir an fheidhm le view.js

// view.js const reports = a cheangal ('../../ tuairiscí') // feidhm iompórtála isteach i gcomhad export.mand = 'amharc 'export.desc =' Féach tuarascáil amháin 'export.builder = {name: {déan cur síos ar: "Ainm na tuarascála is mian leat a fheiceáil.", éileamhOption: fíor, cineál:' string '}} export.handler = feidhm (argv) {reports.viewReport (argv.name) // feidhm ghlaonna agus cuir ainm air ó réad argv}

8. I bhfréamh ár n-eolaire déan an t-ordú a fhorghníomhú

amharcann tuairiscí cli.js nód "an chéad tuarascáil"

Ba cheart go mbeadh cuma mar seo ar an aschur sa chonsól!

Is iomaí faisnéis úsáideach é seo ó ghlao API amháin. Is féidir linn an Méadar Mash a úsáid mar threoir thuarthach nó comparáid a dhéanamh idir Roi agus ioncam cíosa idir Airbnb agus modhanna traidisiúnta.

Má theastaigh uait an fhaisnéis a shábháil níos déanaí, d'fhéadfá aschur an tionscadail a atreorú chuig comhad difriúil agus an t-ordú á úsáid agat;

nód cli.js amharc [name_of_report]> fileName.txt

Cruthóidh sé seo an comhad agus scríobhfaidh sé amach iad mar ábhar an chomhaid sin.

Faigh Do Chomharsanacht is cóngaraí

Táim chun dhá chomhad a chaitheamh ort a ligfidh duit do chomhordanáidí a iontráil agus an chomharsanacht is gaire duit a fháil.

Is é an chéad cheann find-gaire.js. Is ordú nua é seo agus rachaidh an comhad nua sa cmds / eolaire.

const findClosestNeighborhood = a cheangal ('../ util / findClosestNeighborhood')
export_mand = 'aimsigh-gaire 'export.desc =' Aimsíonn closts comharsanacht id 'export.builder = {lat: {déan cur síos ar:' Domhanleithead an tsuímh reatha ', éileamhOption: fíor, cineál:' uimhir '}, fada: {déan cur síos ar:' Domhanfhad an tsuímh reatha ' , éileamhOption: fíor, cineál: 'uimhir'}, cathair: {déan cur síos ar: 'Cathair a bhfuil an áit istigh', éileamhOption: fíor, cineál: 'sreang'}, luaigh: {déan cur síos ar: 'Luaigh an áit a bhfuil sé', éileamhOption : fíor, cineál: 'string'},} export.handler = feidhm (argv) {findClosestNeighborhood (argv.lat, argv.long, argv.city, argv.state)}

Ba é an chéad chomhad eile an comhad a allmhairíodh ag barr an leathanaigh seo (má thug tú faoi deara).

2. San eolaire úsáide cruthaigh an comhad findClosestNeighborhood.js agus cuir an cód leis:

const {util} = a cheangal ('../ api') const chalk = éilíonn ('cailc')
féach an cód iomlán ag https://rapidapi.com/blog/mashvisor-api-airbnb-data/

Cuimsíonn an comhad seo do chomhordanáidí, seolann sé iarratas chuig críochphointe ‘List Neighbourhoods’ ag Mashvisor agus faigheann sé liosta rudaí a léiríonn na comharsanachtaí i do chathair ar ais.

Ansin déanann sé comparáid idir na comhordanáidí a chuirtear ar fáil agus na comhordanáidí do gach comharsanacht agus socraíonn sé cé acu is gaire. Ní feidhm ríofa achair foirfe í, ach tá sé gar go leor dúinn.

Ní mór dúinn an glao API a chur leis an réad úsáide in api.js.

3. Cuir an t-iarratas HTTP comharsanachta liosta le api.js faoinár nglao API roimhe seo.

// api.js
... module.exports = {util: {... getNeighborhoodsInArea: (cathair, stát) => shampla ({"method": "GET", "url": `https: //mashvisor-api.p.rapidapi .com / cathair / comharsanachtaí / $ {state} / $ {city} `,})}, ...}

4. Faigh comhordanáidí d’áit nó aon áit a bhfuil suim agat ann. Má theastaíonn cabhair uait chun comhordanáidí domhanleithead agus domhanfhad a fháil tá céimeanna ag Google chun cabhrú leat.

5. An t-ordú is gaire a fhorghníomhú le comhordanáidí, cathair agus stát.

Rith mé an t-ordú le haghaidh suíomh ar Capitol Hill i Seattle.

nód cli.js aimsigh-gaire 47.627464 -122.321387 "Seattle" "WA"

Agus sa chonsól, logáladh an chomharsanacht is gaire.

Is í an chomharsanacht is gaire Broadway le haitheantas 250150

D’fhéadfainn anois mo ordú breise tuarascála a athcheangal leis an ID comharsanachta Mashvisor nua seo!

Sin é!

Ag bogadh ar aghaidh

Chlúdaigh an feidhmchlár seo a lán ábhar agus chuaigh sé thar chúpla freisin. Tá sé curtha ar bun ionas gur féidir leis an gcruthaitheoir orduithe modúlach, tuairiscí a dhéanamh, agus a chód iarratais HTTP a shimpliú.

Ceann de na gnéithe is deacra a bhaineann le sonraí a ghabháil ó API is ea na sonraí a tharraingt ó dhoimhneacht an ruda freagartha. Tá cáin ar an tasc seo go háirithe má thógamar an feidhmchlár seo chun 10 nó 20 glao API a dhéanamh.

Má aontaímid beirt go bhfuil tochailt isteach ar rudaí beagáinín cráite, ba cheart duit GraphQL a sheiceáil toisc gur chuir RapidAPI tacaíocht leis an gcineál seo ceiste teanga le déanaí.

Mar sin féin, bíodh leisce ort níos mó glaonna HTTP a chur leis an bhfeidhmchlár más mian leat!

Acmhainní Gaolmhara

  • APIs Geocoding agus Suíomh Barr
  • APIs Óstán is Fearr
  • APIs Forbartha Aipeanna Soghluaiste
  • Conas aip mar Airbnb a thógáil?

Foilsíodh ar dtús é ag https://rapidapi.com an 27 Eanáir 2020.