通过YAML获取Google搜索结果

时间:2018-06-15 05:13:59

标签: json yaml google-search

注意:我是YAML的初学者,我还不明白YAML的原因和方式。所以,我的问题可能包含一些与YAML无关的内容。对不起,请纠正他们。

在音乐播放器(MusicBee)中,我找到了一个获取歌曲歌词的插件。如何从歌词提供程序中提取歌词是用YAML文件(yml)编写的。例如,以下yml文件提取的AZLyrics中的歌词;

name: A-Z Lyrics Universe
url: "http://www.azlyrics.com/lyrics/{artist}/{title}.html"
extractor: '(?s)<div>\s+<!--\s+Usage.*?\s+-->(?P<lyrics>.+?)<\/div>'

headers:
- name: User-Agent
  value: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0' # Firefox 30 Win x64 user agent

variables:
- &artist
  name: artist
  filters:
    - [lowercase]
    - [strip_nonascii]
- <<: *artist
  name: title

filters:
- [strip_html]
- [trim]
- [utf8_encode]

这里歌词的URL直接由;

  

http://www.azlyrics.com/lyrics/{artist}/{title}.html

但这是我的问题。相反,使用上面的链接,我需要做一个简单的谷歌搜索

  

https://www.google.lk/search?q={artist}+{title}+azlyrics+lyrics

并从搜索结果中获取第一个网址,然后将其用作歌词的网址。

问题:

  1. YAML能否完成我需要做的任务?
  2. 如果是,我该怎么办?如何处理谷歌搜索结果?
  3. 如果不是,你能否给我任何建议,我必须走的路是什么?
  4. 注意: Heres,给定插件的source code

2 个答案:

答案 0 :(得分:2)

你不能用YAML做到这一点,因为它只是一个

  

YAML是一种人类可读的数据序列化语言

所以你必须为你选择一种编程语言。它支持发出HTTP请求(最有名的曾经支持过。)

这里你没有提到你熟悉哪种语言,所以我不会详细说明,只需要步骤

  1. 向为Google构建的网址发出HTTP请求
  2. Parse Fetched result
  3. 阅读结果中的第一个链接
  4. 随时随地使用该结果。
  5. 您使用每种语言都会改变执行每项任务的方式。但是,它几乎打破了这一点。

    <强>更新

    Google提供用于查询的API和JAVA示例您可以检查this

答案 1 :(得分:0)

YAML / YML 是.properties / .json文件的另一种选择,但对开发人员/用户更友好。

通常,“。yml”文件用于指定应用程序的配置/元数据。

简单地说,它是一种数据表示格式,并且本身不执行任何操作。

您的代码必须读取YAML文件的内容并执行操作,在这种情况下,该操作是在google中搜索结果。

就像有特定于语言的库可以从.json文件中读取内容一样,也有一些库可以从.yml文件中读取内容。

检查http://yaml.org/链接。