我正在制作一个程序,使用jsoup为当前播放的歌曲和艺术家刮取某个广播网站。我已经按照本教程:https://www.youtube.com/watch?v=C1b74N1rgQQ但无法从网站上获取正确的数据。
我想访问此广播网站:https://indie88.com/并显示当前正在播放的歌曲(和艺术家)。
到目前为止,这是我的代码:
#!/usr/bin/env python
import shodan
import sys
SHODAN_API_KEY = "key"
api = shodan.Shodan(SHODAN_API_KEY)
try:
# Search Shodan
results = api.search('abc1234')
# Show the results
print 'Results found: %s' % results['total']
for result in results['matches']:
print 'IP: %s' % result['ip_str']
print ''
except shodan.APIError, e:
print 'Error: %s' % e
通过运行此代码,我得到"搜索"。我认为它与.get(2)或" span"有关。在HTML中标记,但我不确定。这是我第一次使用jsoup,任何建议都会对我如何显示当前正在播放的歌曲(位于页面顶部)有所帮助。
另外 - 我怎么知道何时使用getElementsByTag和getElementsByClass等?有没有办法指定哪个" span"标签使用?似乎没有从正确的信息中获取信息。
答案 0 :(得分:1)
当您使用浏览器转到https://indie88.com/时,该网站会加载更多文件。您要查找的信息显示在https://indie88.com/wp-content/themes/indie88/inc/streamon.php,因此要获取该信息,请尝试以下操作:
final String url = "https://indie88.com/wp-content/themes/indie88/inc/streamon.php";
Document doc = Jsoup.connect(url).get();
System.out.println(doc.body().text());
示例输出是 -
{"艺术家":"韦恩喷泉","标题":" Stacey'",&#34末端":" 1522993371.161780"}
现在您可以使用一些JSON库或正则表达式来提取艺术家和标题。