[{"data":1,"prerenderedAt":183},["ShallowReactive",2],{"project-18064493":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":40,"post_text":30,"what":42,"said":76,"maker_in_thread":116,"shape":123,"grid":127,"attempts":146,"same_week":147,"maker_shows":15,"maker_hidden":176,"reader_version":177,"card":178},"18064493","Apify SDK","A scalable web crawling and scraping library for JavaScript","title","Show HN: Apify SDK – A scalable web crawling and scraping library for JavaScript","https:\u002F\u002Fgithub.com\u002Fapifytech\u002Fapify-js","github.com","jancurn",1537863880,2018,78,8,555,2155,26,"notable","dev_tools","web scraping library","library",[24,25,26,27,28],"web scraping","web crawler","javascript","puppeteer","headless chrome","quiet",null,{"positive":32,"neutral":33,"mixed":34,"critical":34},3,1,0,4,{"idea":37,"docs":38,"performance":39},{"positive":33,"critical":34},{"positive":33,"critical":34},{"positive":34,"critical":34},[34,41,41,34,32,34,41,34],5,{"problem":43,"audience":30,"pricing":30,"motivation":50,"time_to_build":54,"stack":58,"openness":73,"stage":74,"team_size":75},{"value":44,"source":45,"evidence":46},"Lack of a universal scraping and crawling library for JavaScript, unlike Python's Scrapy","maker",[47],{"id":48,"by":11,"text":49},"18064525","Hey guys, today we’re showing HN a new open-source library that we have been working on for almost a year. It incorporates lessons learned from scraping of thousands of websites…",{"value":51,"source":45,"evidence":52},"Lessons learned from scraping thousands of websites over four years; no universal JavaScript scraping library existed",[53],{"id":48,"by":11,"text":49},{"value":55,"source":45,"evidence":56},"Almost a year of work",[57],{"id":48,"by":11,"text":49},[59,63,69],{"value":60,"source":45,"evidence":61},"JavaScript",[62],{"id":48,"by":11,"text":49},{"value":64,"source":45,"evidence":65},"Node.js",[66],{"id":67,"by":11,"text":68},"18082494","The SDK runs anywhere where you have Node running. And if you can run headless Chrome with Puppeteer there too, than you can use it in the SDK too. This might require several…",{"value":70,"source":45,"evidence":71},"Puppeteer",[72],{"id":67,"by":11,"text":68},"open_source","launched","unknown",{"praise":77,"objections":100,"requests":101,"questions":106,"alternatives":111},[78,86,93],{"value":79,"source":80,"evidence":81},"Solves a real problem for crawling users","commenter",[82],{"id":83,"by":84,"text":85},"18081825","rajangdavis","I wish I could upvote this more. This solves a huge problem for me and will definitely be taking a peek at this over the weekend. Thank you so much for making and sharing this!",{"value":87,"source":80,"evidence":88},"Extensive documentation",[89],{"id":90,"by":91,"text":92},"18064802","darekkay","Thanks, this looks solid, with a really extensive documentation. I will give it a try for my next crawling\u002Fbot project :)",{"value":94,"source":80,"evidence":95},"Timely for replacing an old scraper",[96],{"id":97,"by":98,"text":99},"18081999","raitom","This comes just in time when I needed to replace an old scraper! Does it have to run on an instance or can we also use a serverless environnement?",[],[102],{"value":103,"source":80,"evidence":104},"Clarify whether it runs in serverless environments",[105],{"id":97,"by":98,"text":99},[107],{"value":108,"source":80,"evidence":109},"Can it run on serverless platforms instead of an instance?",[110],{"id":97,"by":98,"text":99},[112],{"value":113,"source":80,"evidence":114},"Scrapy (Python)",[115],{"id":48,"by":11,"text":49},{"comments":35,"answered":33,"key":117},[118,119,122],{"id":48,"text":49},{"id":120,"text":121},"18064893","Awesome, looking forward to hear what you think :)",{"id":67,"text":68},{"commenters":41,"max_depth":124,"maker_replies":35,"first_comment_mins":125,"lifespan_hours":126},2,10,47,[128,130,132,134,136,138,140,144],[48,34,34,129,11,33],"project\u002Fneutral\u002Fidea",[83,33,41,131,84,34],"project\u002Fpositive\u002Fidea",[90,124,41,133,91,34],"project\u002Fpositive\u002Fdocs",[120,124,34,135,11,33],"maker\u002Fpositive\u002Fnone",[97,32,32,137,98,34],"project\u002Fneutral\u002Fperformance",[67,32,34,139,11,33],"project\u002Fneutral\u002Fexecution",[141,35,41,142,143,34],"18081849","project\u002Fpositive\u002Fnone","pdxandi",[145,35,34,135,11,33],"18082720",[],[148,152,157,162,167,172],{"id":149,"name":150,"points":151,"category":20},"18030446","Sublime Merge",935,{"id":153,"name":154,"points":155,"category":156},"18035283","Hacking slot machines",421,"other",{"id":158,"name":159,"points":160,"category":161},"18077446","You Don't Need WordPress",257,"web_saas",{"id":163,"name":164,"points":165,"category":166},"18058031","Chattervox",224,"infrastructure",{"id":168,"name":169,"points":170,"category":171},"18076566","You Need Feeds",205,"learning_science",{"id":173,"name":174,"points":175,"category":20},"18051037","Thi.ng\u002Fhdom",180,false,"v2",{"id":179,"name":5,"line":6,"ai":176,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":180,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":181,"url":9,"mix":182,"praise":79,"objection":-1,"sub":21},18064493,[24,25,26,27,28],"05503050",[32,33,34,34],1793990979687]