正在通过 YAML 获取 Google 个搜索结果

Fetching Google search results through YAML

注意:我完全是 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

但这是我的问题。而不是使用上面的 link 我需要做一个简单的 google 搜索 as

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

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

问题:

  1. YAML 是否能够完成我需要完成的任务?
  2. 如果是,我该怎么做?如何处理google结果?
  3. 如果没有,你能给我一些建议吗,我完成任务必须走的路是什么?

注意:这里是给定插件的source code

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

YAML is a human-readable data serialization language

所以你必须为你选择一种编程语言。支持发出 HTTP 请求(Most famous once 支持)

这里你没有提到你熟悉的语言,所以我不会详细介绍,只是步骤

  1. 向为 Google
  2. 构建的 URL 发出 HTTP 请求
  3. 解析抓取结果
  4. 读取结果
  5. 中第一个link
  6. 随处使用该结果。

您使用每种语言都会改变执行每项任务的方式。但是是的,它几乎可以分解为这个。

更新:

Google提供了API用于查询,对于JAVA的例子可以查看this

YAML/YML 是 .properties/.json 文件的另一种替代方法,但 更 developer/user 友好。

通常,“.yml”文件用于指定应用程序的configuration/meta数据。

简单的说,它是一种数据表示格式,它本身什么都不做。

您的代码必须读取 YAML 文件的内容并执行操作,在本例中,操作正在搜索 google 以获取结果。

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

检查 http://yaml.org/ link。