如何复制网页某一列的所有URL



我想使用wget将多个文件导入我的服务器,492个文件如下:https://trace.ncbi.nlm.nih.gov/Traces/sra/?study=ERP001736

所以我想复制"中所有文件的URL;文件名";列,以将它们保存到文件中,并使用wget导入它们。

那么,我如何从该列中复制所有这些URL呢?

感谢阅读:(

既然已经标记了bash,这应该可以工作。

wget -O-用于将数据输出到标准输出,在标准输出中它是可擦除的。(默认情况下curl会这样做。(

grep -oE用于捕获URL(很高兴URL的格式足够规则,一个简单的regexp就可以工作(。

然后,wget -i用于从生成的文件中读取URL。您可能希望添加-nc或其他合适的部分获取标志;那些文件相当重。

wget -O- https://trace.ncbi.nlm.nih.gov/Traces/sra/?study=ERP001736 | grep -oE 'http://ftp.sra.ebi.ac.uk/[^"]+' > urls.txt
wget -i urls.txt

首先,我建议使用更具体、更健壮的实现
但是,在你靠墙匆忙的情况下-

$: curl -s https://trace.ncbi.nlm.nih.gov/Traces/sra/?study=ERP001736 |
sed -En '/href="http://.*clean.fastq.gz"/{s/^.*href="([^"]+)".*/1/;p;}' |
while read url; do wget "$url"; done

这是一个快速而粗糙的第一次传球,但它会给你一些帮助。

如果不急着,请尝试用perl或python编写一些更健壮、更循序渐进的东西。

相关内容

最新更新