【问题标题】:Using wget\curl with prxoy list and multiple threads in bash script在 bash 脚本中使用 wget\curl 和代理列表和多个线程
【发布时间】:2013-08-15 06:30:48
【问题描述】:

我要做的是在 Linux 上制作一个 bash 脚本,该脚本的目标是获取 url 列表并下载它们。所以我写了一个脚本和它的作品,但我的问题是所有的 url 都来自同一个网站,所以我在每个 url 之后睡了 5 分钟,这需要很多时间所以只想使用代理列表所以我制作了一个将代理 ip 下载到代理列表的脚本,但现在我想了解在这种情况下工作的最佳方式是什么,我想创建多个线程并使用代理列表下载,但如果可以的话跳过代理'不要用它下载(我在下载它们时已经检查了代理列表),如果文件已经下载,则跳过它。

非常感谢您的帮助和建议..

【问题讨论】:

    标签: curl wget


    【解决方案1】:

    这可以在我的 Mac 上运行 将它们放在一个列表中,我们将其命名为 list.txt,它将包含名称和 url mydoc.pdf http://www.domesite/xyz/xyzdoc.pdf

    cat list.txt | while read name url
    do
    curl $url > $name &
    echo $! >> active.list.tmp
    done
    
    
    while [ $(ps -ao pid | grep -c -f  active.list.tmp) -ne 0 ]
    do
    sleep 1
    done
    
    echo done
    rm active.list.tmp
    

    【讨论】:

    • 嘿,谢谢你的回答,但看起来你的建议是如果我做对了就提出多线程卷曲请求,但是代理列表呢?它需要每次使用不同的代理下载,如果无法尝试另一个代理.. 该网站在 10 次下载后阻止了我,因为一些小步舞曲或类似的东西没有睡眠......
    猜你喜欢
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多