获取特定div下的资源(wget、xmllint等)

Get the resources under a specific div (wget, xmllint, etc)

我已经设法获得了我想要的网站的一部分。但是,没有资源(音频)。

wget -q -O - "https://dictionary.cambridge.org/dictionary/english/admirable" | xmllint --html --xpath '//div[@class = "pos-header dpos-h"]' - 2>/dev/null > admirable-wget

这是网站的部分,

如何将它包含在路径或其他内容中?我想用 mpv 播放它,后者在我正在构建的脚本中。

使用此 XPath 表达式获取媒体文件的路径:

string(//amp-audio[@id="ampaudio1"]/source[@type="audio/ogg"]/@src)

完全命令

wget -q -O - "https://dictionary.cambridge.org/dictionary/english/admirable" | xmllint --recover --html --xpath 'string(//amp-audio[@id="ampaudio1"]/source[@type="audio/ogg"]/@src)' 

结果

/media/english/uk_pron_ogg/u/uka/ukadj/ukadjus011.ogg

然后下载

wget -q "https://dictionary.cambridge.org/media/english/uk_pron_ogg/u/uka/ukadj/ukadjus011.ogg"

注意:检查站点的 terms of use