[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"project-7643084":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":42,"post_text":45,"what":46,"said":74,"maker_in_thread":148,"shape":157,"grid":161,"attempts":221,"same_week":222,"maker_shows":44,"maker_hidden":249,"reader_version":250,"card":251},"7643084","node-read","Get clean readable content from any webpage","title","Show HN: Get clean readable content from any webpage","https:\u002F\u002Fgithub.com\u002Fbndr\u002Fnode-read","github.com","bndr",1398374293,2014,80,23,369,2272,17,"notable","languages","node.js library","library",[24,25,26,27,28],"readable content","web scraping","article extraction","node.js","html parsing","mixed",0.077,{"positive":32,"neutral":32,"mixed":33,"critical":34},4,1,2,11,{"idea":37,"docs":39,"execution":40,"performance":41},{"positive":32,"critical":38},0,{"positive":38,"critical":38},{"positive":38,"critical":34},{"positive":38,"critical":38},[43,38,44,44,43,43,38,38,33,38,44,44,38,38,38,38,43,38,44,38,38,38,33],5,3,null,{"problem":47,"audience":59,"pricing":45,"motivation":45,"time_to_build":45,"stack":67,"openness":72,"stage":73,"team_size":73},{"value":48,"source":49,"evidence":50},"Extracting the main readable content from web pages","inferred",[51,55],{"id":52,"by":53,"text":54},"7643466","Theodores","Thanks for posting that, it is exactly what I need. I want to scrape a diverse selection of web pages for 'the gist' of the main content purely to put into a solr search engine.…",{"id":56,"by":57,"text":58},"7645228","willlma","Good to see an OSS version. How does it handle pagination? From my experience (Pocket, Readability, Readable (now Evernote Clearly), Boilerpipe) that's the big differentiator.…",{"value":60,"source":49,"evidence":61},"Developers who need article text from web pages",[62,63],{"id":52,"by":53,"text":54},{"id":64,"by":65,"text":66},"7643586","kiliankoe","Thank you for this, I just started using node-readability for a project and I'll gladly give this a spin. The second url [0] I tried passing it however unfortunately returned an…",[68],{"value":69,"source":49,"evidence":70},"Node.js",[71],{"id":64,"by":65,"text":66},"open_source","unknown",{"praise":75,"objections":82,"requests":94,"questions":117,"alternatives":132},[76],{"value":77,"source":78,"evidence":79},"Useful for scraping page content and an open source alternative","commenter",[80,81],{"id":52,"by":53,"text":54},{"id":56,"by":57,"text":58},[83,87],{"value":84,"source":78,"evidence":85},"Returns empty body on some pages such as tagesschau.de",[86],{"id":64,"by":65,"text":66},{"value":88,"source":89,"evidence":90},"Does not execute JavaScript, so dynamically rendered pages fail","maker",[91],{"id":92,"by":11,"text":93},"7645035","Sadly, no dynamic js is being executed.",[95,103,110],{"value":96,"source":78,"evidence":97},"Pagination support",[98,99],{"id":56,"by":57,"text":58},{"id":100,"by":101,"text":102},"7645626","earwolf","Pagination. Comments. Profit.",{"value":104,"source":78,"evidence":105},"Screenshots or examples of extracted text",[106],{"id":107,"by":108,"text":109},"7645702","crashandburn4","Very simple request for the developer, you couldn't put up screenshots\u002Fexamples of text that has been extracted along with a (cached) link so that people can see how it looks…",{"value":111,"source":78,"evidence":112},"Bookmarklet demo",[113],{"id":114,"by":115,"text":116},"7643294","bgnm2000","would love to see this as a bookmarklet (that hits the user's npm) for demo purposes",[118,125],{"value":119,"source":78,"evidence":120},"How does it compare to Apache Tika?",[121],{"id":122,"by":123,"text":124},"7643969","rpedela","How does this compare to Apache Tika?",{"value":126,"source":78,"evidence":127},"How does it handle JavaScript-rendered content?",[128],{"id":129,"by":130,"text":131},"7644409","kephra","I did not read the source, but have a question: How do you deal with web pages, where the content is dynamically created using javascript\u002Fajax? Do you execute this JS, or just…",[133,137,144],{"value":134,"source":78,"evidence":135},"Readability, Pocket, Evernote Clearly, Boilerpipe",[136],{"id":56,"by":57,"text":58},{"value":138,"source":78,"evidence":139},"Firefox Mobile reader mode",[140],{"id":141,"by":142,"text":143},"7644446","TD-Linux","This reminds me of Firefox Mobile's reader mode - something I find invaluable. Unfortunately they don't seem to have a desktop equivalent, yet.",{"value":145,"source":78,"evidence":146},"Apache Tika",[147],{"id":122,"by":123,"text":124},{"comments":44,"answered":33,"key":149},[150,153,154],{"id":151,"text":152},"7645026","Thanks! It may be encoding problem, I'll take a look at it today.",{"id":92,"text":93},{"id":155,"text":156},"7643390","I'm not sure I understand what you mean with \"that hits the user's npm\"",{"commenters":158,"max_depth":44,"maker_replies":44,"first_comment_mins":159,"lifespan_hours":160},19,32,21,[162,164,168,170,172,175,177,181,183,185,187,189,192,195,198,201,203,205,209,212,213,216,219],[52,38,43,163,53,38],"project\u002Fpositive\u002Fidea",[165,38,38,166,167,38],"7644101","commenter\u002Fneutral\u002Fnone","flippyhead",[107,33,44,169,108,38],"maker\u002Fneutral\u002Fdocs",[56,34,44,171,57,38],"project\u002Fmixed\u002Fidea",[173,44,43,163,174,38],"7645075","snipek",[176,44,43,163,174,38],"7645097",[178,44,38,179,180,38],"7645177","other\u002Fneutral\u002Fidea","aleksi",[182,44,38,166,174,38],"7648295",[64,32,33,184,65,38],"project\u002Fcritical\u002Fexecution",[151,32,38,186,11,33],"maker\u002Fneutral\u002Fexecution",[122,43,44,188,123,38],"project\u002Fneutral\u002Fnone",[129,190,44,191,130,38],6,"project\u002Fneutral\u002Fperformance",[193,190,38,166,194,38],"7644473","grimtrigger",[196,190,38,166,197,38],"7644562","didgeoridoo",[199,190,38,166,200,38],"7646332","dredmorbius",[92,190,38,202,11,33],"maker\u002Fneutral\u002Fperformance",[141,204,43,163,142,38],7,[206,204,38,207,208,38],"7645653","other\u002Fneutral\u002Fnone","atopal",[114,210,44,211,115,38],8,"project\u002Fneutral\u002Fidea",[155,210,38,166,11,33],[214,210,38,166,215,38],"7643420","jzig",[217,210,38,207,218,38],"7644542","recroad",[100,220,33,184,101,38],9,[],[223,228,233,237,241,245],{"id":224,"name":225,"points":226,"category":227},"7664240","Betatype",285,"web_saas",{"id":229,"name":230,"points":231,"category":232},"7666102","Marvel",222,"dev_tools",{"id":234,"name":235,"points":236,"category":20},"7652874","Isomer",181,{"id":238,"name":239,"points":240,"category":232},"7663775","Velocity.js",160,{"id":242,"name":243,"points":240,"category":244},"7677018","Life Goes On","games",{"id":246,"name":247,"points":248,"category":227},"7666761","startup job",74,false,"v2",{"id":252,"name":5,"line":6,"ai":249,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":253,"top":18,"kw":254,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":255,"url":9,"mix":256,"praise":77,"objection":84,"sub":21},7643084,0.08,[24,25,26,27,28],"50335500103300005030001",[32,32,33,34],1793990904862]