首页 文章

ansible可以从网页上的锚点获取网址吗?

提问于
浏览
-1

我希望Ansible在url每周更改时(因为更新)从url安装 .deb 包 . 静态下载页面上有动态下载URL的锚点 . 是否有一个技巧让ansible弄清楚网址?

例如 . 在某个页面上,有一个名为"Latest version"的链接如下:

<a href="URL_TO_DOWNLOAD_DEB">Latest version</a>.

我可以获得 URL_TO_DOWNLOAD_DEB 吗?

这是一些有用的技巧,希望能说明我的意思 . 显然,这不起作用 .

- name: Find link to DEB package
  regex_from_url:
    url: http://some.download.page
    regex: g/<a href="([^"]+)">Latest version<\/a>./
    register: URL_TO_DOWNLOAD_DEB
- name: Install DEB package
  apt:
    deb: {{ URL_TO_DOWNLOAD_DEB }}

1 回答

  • 2

    你可以尝试这样的事情:

    - name: Send GET request to target
      shell: wget -O - http://some.download.page | grep '>Latest version<' | sed -n 's/.*href="\(.*\)".*/\1/p'
      register: web
      args:
          warn: False
    
    - name: Show download link
      debug:
        msg: "{{ web.stdout }}"
    

相关问题