[{"data":1,"prerenderedAt":210},["ShallowReactive",2],{"project-11754099":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":40,"post_text":42,"what":43,"said":67,"maker_in_thread":134,"shape":137,"grid":142,"attempts":174,"same_week":175,"maker_shows":32,"maker_hidden":202,"reader_version":203,"card":204},"11754099","HN-Saved-Links-Export","Export HN saved links (upvotes) as JSON or CSV","title","Show HN: Export HN saved links (upvotes) as JSON or CSV","https:\u002F\u002Fgithub.com\u002Famjd\u002FHN-Saved-Links-Export","github.com","amjd",1464014194,2016,82,16,463,2264,21,"notable","productivity","bookmark export","cli",[24,25,26,27],"hacker news","saved links","export json","export csv","roasted",-0.471,{"positive":31,"neutral":32,"mixed":32,"critical":33},0,1,6,8,{"performance":36,"execution":38,"privacy":39},{"positive":31,"critical":37},2,{"positive":31,"critical":37},{"positive":31,"critical":37},[31,31,31,32,32,32,31,32,41,41,32,31,31,31,31,32],3,null,{"problem":44,"audience":42,"pricing":42,"motivation":42,"time_to_build":42,"stack":52,"openness":64,"stage":65,"team_size":66},{"value":45,"source":46,"evidence":47},"Hacker News has no API or endpoint for exporting a user's saved\u002Fupvoted links","commenter",[48],{"id":49,"by":50,"text":51},"11755773","minimaxir","Note: script requires you to enter in your HN authentication details. (Unavoidable, since the HN API neither supports authentication nor an endpoint for saved stories)",[53],{"value":54,"source":55,"evidence":56},"Python","inferred",[57,61],{"id":58,"by":59,"text":60},"11754883","firloop","Alas, I couldn't get this working. Never used Python before so I'm unsure how to fix it, but it seems like something breaks when the title is undefined. Was excited to as well,…",{"id":62,"by":11,"text":63},"11755401","Hi, I just fixed that error. Can you clone the latest code and try again? If you still have any problems, please create an issue on Github. :)","open_source","beta","unknown",{"praise":68,"objections":77,"requests":108,"questions":120,"alternatives":129},[69],{"value":70,"source":46,"evidence":71},"Idea is cool and useful for exporting saved links to other tools like Pinboard",[72,76],{"id":73,"by":74,"text":75},"11755813","0xCMP","This idea is cool! But, error when grabbing links. ``` $ python export_links.py Enter your HN account details: Username: 0xcmp Password: Logging in... Logged in successfully.…",{"id":58,"by":59,"text":60},[78,86,97],{"value":79,"source":46,"evidence":80},"Script fails with errors when fetching pages",[81,82,83],{"id":58,"by":59,"text":60},{"id":73,"by":74,"text":75},{"id":84,"by":59,"text":85},"11756452","No dice (same error as commenter above).",{"value":87,"source":46,"evidence":88},"Requires entering HN credentials into a local script",[89,90,94],{"id":49,"by":50,"text":51},{"id":91,"by":92,"text":93},"11756834","lucb1e","It's ten times better than entering your credentials on another website, but the code could still do some fun stuff with it. I kinda doubt it, but just saying.",{"id":95,"by":92,"text":96},"11760144","The codebase can easily get big enough to miss it transmitting your credentials if you don't spend hours looking at it. Even in a 100 line script you can overlook a well hidden…",{"value":98,"source":46,"evidence":99},"Scraping HN risks an IP ban",[100,104],{"id":101,"by":102,"text":103},"11756501","sitkack","It needs a sleep(30) in the page request or it will get your ip banned.",{"id":105,"by":106,"text":107},"11756647","curiousgal","Scraping HN is hard. I got an IP ban even when using sleep with a random duration.",[109],{"value":110,"source":46,"evidence":111},"Add an official HN API endpoint for saved links",[112,116],{"id":113,"by":114,"text":115},"11755987","busterarm","Putting in the request now for HN to update their API to provide this: https:\u002F\u002Fgithub.com\u002FHackerNews\u002FAPI I figure since a comment of mine sparked 'saved comments' being a thing…",{"id":117,"by":118,"text":119},"11757628","antouank","> We hope to improve the API over time, and may later enable access to private per-user data using OAuth. It's been like that for a long time I think.",[121],{"value":122,"source":46,"evidence":123},"How to fix the cssselect or title-undefined error",[124,125],{"id":84,"by":59,"text":85},{"id":126,"by":127,"text":128},"11757256","raggingfox","can you do pip install cssselect and try?",[130],{"value":131,"source":46,"evidence":132},"Pinboard",[133],{"id":58,"by":59,"text":60},{"comments":32,"answered":31,"key":135},[136],{"id":62,"text":63},{"commenters":138,"max_depth":139,"maker_replies":32,"first_comment_mins":140,"lifespan_hours":141},12,5,114,19,[143,145,146,148,150,151,153,155,156,157,159,162,166,167,169,171],[113,31,31,144,114,31],"other\u002Fneutral\u002Fnone",[117,31,31,144,118,31],[147,31,31,144,114,31],"11758638",[101,32,32,149,102,31],"project\u002Fcritical\u002Fperformance",[105,32,32,149,106,31],[58,37,32,152,59,31],"project\u002Fcritical\u002Fexecution",[62,37,31,154,11,32],"maker\u002Fneutral\u002Fexecution",[84,37,32,152,59,31],[126,37,41,154,127,31],[73,41,41,158,74,31],"project\u002Fmixed\u002Fexecution",[49,160,32,161,50,31],4,"project\u002Fcritical\u002Fprivacy",[163,160,31,164,165,31],"11756448","commenter\u002Fneutral\u002Fprivacy","galistoca",[91,160,31,164,92,31],[168,160,31,164,165,31],"11756931",[95,160,31,170,92,31],"commenter\u002Fcritical\u002Fprivacy",[172,160,32,161,173,31],"11758105","mandeepj",[],[176,181,185,190,194,198],{"id":177,"name":178,"points":179,"category":180},"11762169","WhatMoji.com",143,"languages",{"id":182,"name":183,"points":140,"category":184},"11744221","Texttop","dev_tools",{"id":186,"name":187,"points":188,"category":189},"11754225","Illustrio",112,"creative",{"id":191,"name":192,"points":193,"category":20},"11755755","job-hunter",109,{"id":195,"name":196,"points":197,"category":184},"11749126","Family.scss",88,{"id":199,"name":200,"points":201,"category":184},"11752227","Wsta",85,false,"v2",{"id":205,"name":5,"line":6,"ai":202,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":206,"top":18,"kw":207,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":208,"url":9,"mix":209,"praise":70,"objection":79,"sub":21},11754099,-0.47,[24,25,26,27],"0001110133100001",[31,32,32,33],1793990943171]