[{"data":1,"prerenderedAt":314},["ShallowReactive",2],{"project-41903864":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":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":40,"post_text":42,"what":43,"said":65,"maker_in_thread":145,"shape":153,"grid":157,"attempts":276,"same_week":277,"maker_shows":36,"maker_hidden":306,"reader_version":307,"card":308},"41903864","Epublifier","scrape pages (books, manuals) for offline reading","title","Show HN: Epublifier – scrape pages (books, manuals) for offline reading","https:\u002F\u002Fgithub.com\u002Fmaoserr\u002Fepublifier","github.com","maoserr",1729516688,2024,290,43,221,3515,7,"legend","productivity","offline reading","browser_extension",[24,21,25,26],"epub scraper","web to epub","readability","mixed",0.381,{"positive":18,"neutral":30,"mixed":31,"critical":32},6,0,2,15,{"design":35,"performance":37,"idea":38},{"positive":36,"critical":31},1,{"positive":36,"critical":32},{"positive":39,"critical":31},3,[31,41,41,39,31,41,31,31,31,31,31,31,31,39,31,36,31,31,36,31,31,31,31,31,31,41,41,39,41,31,41,31,31,39,31,39,31,31,31,39],5,null,{"problem":44,"audience":42,"pricing":42,"motivation":51,"time_to_build":42,"stack":55,"openness":62,"stage":63,"team_size":64},{"value":45,"source":46,"evidence":47},"Turning ad hoc websites into EPUB for offline reading when existing scrapers don't support them","maker",[48],{"id":49,"by":11,"text":50},"41909433","Hey I want to address why this extension is different from other scrapers. This is for ad hoc generation of EPub from websites that don't have scrape well using traditional…",{"value":52,"source":46,"evidence":53},"Maker wanted to scrape sites they don't stick to, without writing config for each site",[54],{"id":49,"by":11,"text":50},[56],{"value":57,"source":46,"evidence":58},"Readability",[59],{"id":60,"by":11,"text":61},"41904670","It extract the main content using Readability by default (you can configure it with something else). Logins would depend on how you're parsing. It has two modes, it either…","open_source","launched","unknown",{"praise":66,"objections":79,"requests":90,"questions":98,"alternatives":112},[67,75],{"value":68,"source":69,"evidence":70},"UI for iteratively selecting content elements on arbitrary sites","commenter",[71],{"id":72,"by":73,"text":74},"41904893","kemayo","Having written my own one of these, the interesting thing about this one is really the UI for iterating on extracting content from an arbitrary site. Having a full GUI for…",{"value":76,"source":46,"evidence":77},"Works with JavaScript-rendered sites and runs in the browser",[78],{"id":49,"by":11,"text":50},[80],{"value":81,"source":69,"evidence":82},"Cloudflare blocking limits scraping of sites like fanfiction.net",[83,87],{"id":84,"by":85,"text":86},"41906788","t-3","The issue is most likely cloudflare blocking most the best scraping methods. If the site can be pulled down with eg. wget or curl without a bunch of options that you definitely…",{"id":88,"by":73,"text":89},"41908224","Fanfiction.net is trivial... apart from it having Cloudflare bot blocking turned up to aggressive levels. I've not seen an approach that works, other than using headless browsers…",[91],{"value":92,"source":69,"evidence":93},"Support for logins and removing popups or cookie notices",[94],{"id":95,"by":96,"text":97},"41904579","dotancohen","Can it remove popups for newsletters, or subscription, or logins, or cookies' notifications? Can it read pages that requires signing in?",[99,106],{"value":100,"source":69,"evidence":101},"Does it support fanfiction.net?",[102],{"id":103,"by":104,"text":105},"41905419","Mkengine","Does it support http:\u002F\u002Ffanfiction.net\u002F ? I never found an easy solution for that one.",{"value":107,"source":69,"evidence":108},"Is it legal?",[109],{"id":110,"by":111,"text":107},"41904180","mati365",[113,120,127,134,138],{"value":114,"source":69,"evidence":115},"FanFicFare",[116],{"id":117,"by":118,"text":119},"41908662","KaoruAoiShiho","Calibre supports a massive list of sites. https:\u002F\u002Fgithub.com\u002FJimmXinu\u002FFanFicFare https:\u002F\u002Fgithub.com\u002FJimmXinu\u002FFanFicFare\u002Fwiki\u002FSupportedSites",{"value":121,"source":69,"evidence":122},"percollate",[123],{"id":124,"by":125,"text":126},"41905290","stuxnet79","For those interested in a simple to use command line tool that accomplishes the same I've had success with percollate - https:\u002F\u002Fgithub.com\u002Fdanburzo\u002Fpercollate",{"value":128,"source":69,"evidence":129},"WebToEpub",[130],{"id":131,"by":132,"text":133},"41912890","chuanliang","Thanks, very useful. There are some tools similar to Epublifier https:\u002F\u002Fepub.press\u002F https:\u002F\u002Fgithub.com\u002Fdteviot\u002FWebToEpub https:\u002F\u002Fdotepub.com\u002F",{"value":135,"source":69,"evidence":136},"epub.press",[137],{"id":131,"by":132,"text":133},{"value":139,"source":69,"evidence":140},"Offpunk",[141],{"id":142,"by":143,"text":144},"41905387","anthk","I had that, buf for terminal under Unix and for web pages, Gopher and Gemini. Offpunk: https:\u002F\u002Fsr.ht\u002F~lioploum\u002Foffpunk\u002F Instead of Epub, it get catched down into text files…",{"comments":146,"answered":32,"key":147},4,[148,149,150],{"id":49,"text":50},{"id":60,"text":61},{"id":151,"text":152},"41904625","Works on this site: https:\u002F\u002Fdocs.ray.io\u002Fen\u002Flatest\u002F for me.",{"commenters":154,"max_depth":146,"maker_replies":146,"first_comment_mins":155,"lifespan_hours":156},34,19,21,[158,160,162,166,168,169,172,173,177,178,181,182,183,187,189,192,194,197,200,201,205,210,213,216,218,221,224,229,233,238,242,245,249,252,254,256,259,262,265,268,271,273],[49,31,31,159,11,36],"maker\u002Fneutral\u002Fidea",[72,36,41,161,73,31],"project\u002Fpositive\u002Fdesign",[163,32,41,164,165,31],"41904341","project\u002Fpositive\u002Fperformance","stronglikedan",[95,32,39,167,96,31],"project\u002Fneutral\u002Fperformance",[60,32,31,167,11,36],[170,32,41,171,96,31],"41907400","maker\u002Fpositive\u002Fnone",[151,32,31,164,11,36],[174,39,31,175,176,31],"41904955","other\u002Fneutral\u002Fnone","ffsm8",[117,146,31,175,118,31],[179,41,31,175,180,31],"41911183","nik5",[142,30,31,175,143,31],[131,18,31,175,132,31],[184,185,31,175,186,31],"41904608",8,"solarkraft",[103,188,39,167,104,31],9,[190,188,31,191,11,36],"41905667","maker\u002Fneutral\u002Fdocs",[84,188,36,193,85,31],"project\u002Fcritical\u002Fperformance",[195,188,31,175,196,31],"41905946","pasc1878",[198,188,31,175,199,31],"41906438","seridescent",[88,188,36,193,73,31],[202,188,31,203,204,31],"41909356","commenter\u002Fneutral\u002Fnone","theultdev",[206,207,31,208,209,31],"41904435",10,"other\u002Fneutral\u002Fidea","bloopernova",[211,207,31,175,212,31],"41904795","andai",[214,207,31,175,215,31],"41905029","joseda-hg",[217,207,31,175,212,31],"41908269",[219,207,31,175,220,31],"41905015","bryanrasmussen",[222,207,31,175,223,31],"41905696","39896880",[225,226,41,227,228,31],"41908722",11,"project\u002Fpositive\u002Fidea","noam_compsci",[230,231,41,227,232,31],"41906247",12,"vivzkestrel",[234,235,39,236,237,31],"41910433",13,"project\u002Fneutral\u002Fidea","yayitswei",[239,240,41,227,241,31],"41907130",14,"3abiton",[243,33,31,175,244,31],"41911319","BHSPitMonkey",[246,247,41,171,248,31],"41904034",16,"dartharva",[250,247,31,203,251,31],"41907032","B1FF_PSUVM",[124,253,31,175,125,31],17,[255,253,39,167,104,31],"41905429",[257,253,31,175,258,31],"41906025","tra3",[110,260,39,261,111,31],18,"project\u002Fneutral\u002Fnone",[263,260,31,175,264,31],"41904216","reaperducer",[266,260,31,175,267,31],"41904456","thesuitonym",[269,260,31,175,270,31],"41904548","richardlblair",[272,260,31,175,143,31],"41905412",[274,260,39,261,275,31],"41905279","Tepix",[],[278,283,288,292,297,301],{"id":279,"name":280,"points":281,"category":282},"41893524","HN Update",644,"ai",{"id":284,"name":285,"points":286,"category":287},"41914544","Rust Web Framework",488,"languages",{"id":289,"name":290,"points":291,"category":282},"41929804","Pablonet",472,{"id":293,"name":294,"points":295,"category":296},"41915958","Counter-Strike Football",420,"games",{"id":298,"name":299,"points":300,"category":282},"41926770","Agent.exe",406,{"id":302,"name":303,"points":304,"category":305},"41907719","Data Formulator",212,"data",false,"v2",{"id":309,"name":5,"line":6,"ai":306,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":310,"top":18,"kw":311,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":312,"url":9,"mix":313,"praise":68,"objection":81,"sub":21},41903864,0.38,[24,21,25,26],"0553050000000301001000000553505003030003",[18,30,31,32],1794036663208]