因此,我一直在编写一个小脚本,当艺术家使用亚马逊和 elinks 发布新专辑时提醒我。
问题是,由于某种原因,elinks 将在 -dump 命令执行到一半时停止并且无法完成。希望有人能看到我所缺少的东西。
我正在使用的命令的示例是:
elinks -dump https://www.amazon.com/s/ref=sr_nr_p_lbr_music_artists__0?fst=as%3Aoff&rh=i%3Aaps%2Ck%3Athe+prodigy%2Cp_lbr_music_artists_browse-bin%3AThe+Prodigy&keywords=the+prodigy\&ie=UTF8&qid=1466468403&rnid=3458810011 > artist.cache
作为参考,我计划通过一个循环发送它,该循环将遍历一个文件并搜索列表中的所有艺术家,如下所示(注意 $artist)
https://www.amazon.com/s/ref=sr_nr_p_lbr_music_artists__0?fst=as%3Aoff&rh=i%3Aaps%2Ck%3A$artist%2Cp_lbr_music_artists_browse-bin%3A$artist&keywords=$artist&ie=UTF8&qid=1466468403&rnid=3458810011
然后,只需使用 grep 和 date 将匹配的行和艺术家/专辑发布到文本文件中。
因此,如果有人看到我做错了什么,我会提供帮助,或者如果您对如何将网页中的文本获取到文件有更简单的想法,也请告诉我。
谢谢,
答案1
如果不给参数加引号,参数中的“&”会把其中一部分放到后台,运行不完整的命令。
像这样的东西:
> elinks -dump 'https://www.amazon.com/s/ref=sr_nr_p_lbr_music_artists__0?fst=as%3Aoff&rh=i%3Aaps%2Ck%3Athe+prodigy%2Cp_lbr_music_artists_browse-bin%3AThe+Prodigy&keywords=the+prodigy\&ie=UTF8&qid=1466468403&rnid=3458810011' > artist.cache
转义的“&”( \&
) 看起来好像您注意到了问题,但仅引用整个参数会更简单(也更完整)。