C# 关于如何提取潘多拉喜欢的东西并将它们放在电子表格上,有什么建议吗?(C++/C)

C# 关于如何提取潘多拉喜欢的东西并将它们放在电子表格上,有什么建议吗?(C++/C),c#,html,c++,pandora,C#,Html,C++,Pandora,相当新的编码,我想一个项目的工作,可以帮助我提高我的技能。我不确定什么语言将是最好的这种承诺,但我肯定会喜欢使用C++或C.< 对于程序的第一部分,我基本上想尝试把我所有的潘多拉喜欢的东西放在一个电子表格上,一列是歌曲名,另一列是艺术家名。我不认为一旦我真正获得了所需的数据,格式化就太难了,但我真的不确定在这个时间点上如何与服务器通信。我猜我可能无法获取喜欢的原始列表,因此我认为我最好的做法是首先将喜欢的列表全部展开,然后我需要阅读源代码中屏幕上的文本 在第一步中,展开my like,我找到了实

相当新的编码,我想一个项目的工作,可以帮助我提高我的技能。我不确定什么语言将是最好的这种承诺,但我肯定会喜欢使用C++或C.< 对于程序的第一部分,我基本上想尝试把我所有的潘多拉喜欢的东西放在一个电子表格上,一列是歌曲名,另一列是艺术家名。我不认为一旦我真正获得了所需的数据,格式化就太难了,但我真的不确定在这个时间点上如何与服务器通信。我猜我可能无法获取喜欢的原始列表,因此我认为我最好的做法是首先将喜欢的列表全部展开,然后我需要阅读源代码中屏幕上的文本

在第一步中,展开my like,我找到了实际执行此操作的HTML源代码:

<div class="show_more tracklike" data-nextLikeStartIndex="0" data-nextThumbStartIndex="5">Show more</div>"
不确定这是否是我可以处理的,但我在想,如果我可以将data nextThumbStartIndex=5设置为与喜欢的数量相等-5它默认显示的数量,那么扩展列表将相当容易。如果没有,我可能不得不反复点击ShowMore链接,直到我在页面上找到所有喜欢的内容

对于下一步,获取我想要的数据,我认为我最好的选择是基本上只抓取我在屏幕上看到的文本,然后担心过滤和操作数据。另一个选项是查看源代码,我实际上找到了存储我想要的信息的代码片段。如果我可以检索页面的源代码,我想从中找出我真正想要的数据会相对容易


就是这样,我知道我是个不折不扣的自动取款机,我所说的可能是错误的和/或比我想象的要复杂得多,但我学得很快,至少如果有人能给我指出正确的方向,让我与服务器进行交流,我会非常感激。

这个问题涉及面很广,我完全不知道潘多拉本身——在我居住的地方无法访问它

一般来说,有几种不同的方法来解决这类问题:

屏幕抓取-基本上像访问web服务器一样访问网站,并从返回的HTML字符串中挖掘出所需的信息。这里的问题是,数据不太适合机器读取,因为它通常没有明确的点供读者查找相关信息,并且很难从谷壳中对数据进行排序

AJAXAPI—异步Java脚本和XML,其中网站的提供者有一个接口,可以将其中的某些数据提取到web浏览器—当然,如果您假装是web浏览器,请求相同类型的信息。您依赖于网站来拥有这样一个接口,但是如果它存在,数据通常是机器读取的更合适的形式,通常是XML,但并不总是这样

JSON api-Java脚本对象表示法是类似于AJAX的XML的解决方案,JSON是一种人机可读的格式

后两种方法显然更可取,因为返回的数据用于机器读取。缺点是需要服务器端协作。这里的好处是Pandora确实有一个JSON API。糟糕的是,它似乎很难使用。。。这里有一个关于这个主题的讨论:

这里的主要原则是将一些内容发送到Web服务器,然后接收带有请求信息的回复。具体操作方式取决于语言/编程环境。一个流行的C++解决方案是LIbCURL。 这里有一个Ruby客户端,使用JSON接口

与Pandora接口的C实现如下:


不幸的是,我找不到任何关于列出喜欢项的直接参考。

谢谢你的建议,这将是一个很好的开始。非常感谢。