非官方图书馆获取个人建议的信息

pocket-recommendations的Python项目详细描述


袖珍推荐

非官方图书馆获取个人建议的信息

使用

获取一个公共Pocket配置文件,如this one。使用Python或其他任何工具下载其HTML:

$ curl "https://getpocket.com/@honzajavorek" > getpocket-com-honzajavorek.html

在Python程序中,将HTML作为字符串准备好:

^{pr2}$

现在您可以使用此库来解析HTML:

>>>importpocket_recommendations>>>items=pocket_recommendations.parse(html_text)>>>len(items)50

每个项目看起来如下:

>>>frompprintimportpprint>>>pprint(items[0]){'pocket_comment':'Šablona na váš úspěšný HackerNews post','pocket_recommended_at':None,'pocket_url':'https://getpocket.com/redirect?&url=https%3A%2F%2Fsaagarjha.com%2Fblog%2F2020%2F05%2F10%2Fwhy-we-at-famous-company-switched-to-hyped-technology%2F&h=eff6d8cac22c9b475463d037037b0efdcf44b762c9b0b7913de2104cab5fa67d','title':'Why we at $FAMOUS_COMPANY Switched to $HYPED_TECHNOLOGY','url':'https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/'}

即使Pocket使用HTTP链接进行重定向,库也强制使用HTTPS。在

推荐日期

您可以指定下载HTML的日期,以获取发布建议的相对日期:

>>>fromdatetimeimportdate>>>items=pocket_recommendations.parse(html_text,today=date(2020,6,3))>>>pprint(items[0]){'pocket_comment':'Šablona na váš úspěšný HackerNews post','pocket_recommended_at':datetime.date(2020,6,2),'pocket_url':'https://getpocket.com/redirect?&url=https%3A%2F%2Fsaagarjha.com%2Fblog%2F2020%2F05%2F10%2Fwhy-we-at-famous-company-switched-to-hyped-technology%2F&h=eff6d8cac22c9b475463d037037b0efdcf44b762c9b0b7913de2104cab5fa67d','title':'Why we at $FAMOUS_COMPANY Switched to $HYPED_TECHNOLOGY','url':'https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/'}

缺少注释

如果没有注释,则设置为None

>>>fromdatetimeimportdate>>>items=pocket_recommendations.parse(html_text)>>>pprint(items[15]){'pocket_comment':None,'pocket_recommended_at':None,'pocket_url':'https://getpocket.com/redirect?&url=https%3A%2F%2Falmad.blog%2Fessays%2Fwhat-is-employment%2F&h=ef4216c9df41763fa900b12815a280bf790f50960468a45ebed5f3682156dc6a','title':"We Don't Know What an Employment Is",'url':'https://almad.blog/essays/what-is-employment/'}

误解的HTML实体

如果标题包含一些误解的HTML实体,库会处理它:

>>>fromdatetimeimportdate>>>items=pocket_recommendations.parse(html_text)>>>pprint(items[15])# title: We Don't Know What an Employment Is{'pocket_comment':None,'pocket_recommended_at':None,'pocket_url':'https://getpocket.com/redirect?&url=https%3A%2F%2Falmad.blog%2Fessays%2Fwhat-is-employment%2F&h=ef4216c9df41763fa900b12815a280bf790f50960468a45ebed5f3682156dc6a','title':"We Don't Know What an Employment Is",'url':'https://almad.blog/essays/what-is-employment/'}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringBootHibernate5忽略@Table和@Column   java readLine是如何工作的?   java除了Oracle的JVM(windows)之外,还有什么BSD许可的替代方案吗?   javascript处理程序执行导致异常:所需的MultipartFile参数“file”不存在   java如何检查url是否与标识符匹配?   java在对象创建之后实现一个接口   java安卓:如何将github库放入项目中   java如何制作自定义文本组件?   如何在java中更新属性文件   java Hibernate持久映射   JavaSpring批处理如何从postgres读取数据,然后在步骤中写入数据   java应用程序已在Android Emulator Eclipse中停止   java找不到参数[org.jetbrains.kotlin:kotlinstdlibjdk7:1.3.50]的方法实现()   java AWS DynamoDB如何从数据库中获取只有一个字段的对象   在使用ajax进行表单提交时,java无法阻止默认表单提交   集合如何在Java中定义基于两个变量进行比较的比较器   多线程基准测试Java中的多线程集合   java如何通过浏览器运行终端程序?