2016-12-04 7 views
0

Я пытаюсь просканировать какой-то веб-сайт. Однако мой процесс сканирования настолько длинный, что мне нужно использовать несколько экземпляров, чтобы сократить его. Я искал другие способы и прервал все ненужные ресурсы, которые все еще были слишком медленными для меня (около 8-9 секунд).CasperJS и параллельный сканирование

Что является самым простым способом для параллельных экземпляров casperjs или даже запускать только два casperjs одновременно с параллельным сканированием?

Я использовал параллельный gnu из сообщения в блоге, которое я нашел, но похоже, что хотя процесс «жив», они не сканируются параллельно, потому что общее время выполнения все равно одно и то же.

Должен ли я использовать сервер nodejs для создания экземпляров? Что является самым простым и практичным способом?

+0

Вы могли бы ударяя физические или искусственные пределы сервера. Вы можете это проверить? –

ответ

0

Вы можете приспособить это: https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Breadth-first-parallel-web-crawler-mirrorer

#!/bin/bash 

    # E.g. http://gatt.org.yeslab.org/ 
    URL=$1 
    # Stay inside the start dir 
    BASEURL=$(echo $URL | perl -pe 's:#.*::; s:(//.*/)[^/]*:$1:') 
    URLLIST=$(mktemp urllist.XXXX) 
    URLLIST2=$(mktemp urllist.XXXX) 
    SEEN=$(mktemp seen.XXXX) 

    # Spider to get the URLs 
    echo $URL >$URLLIST 
    cp $URLLIST $SEEN 

    while [ -s $URLLIST ] ; do 
    cat $URLLIST | 
     parallel lynx -listonly -image_links -dump {} \; \ 
     wget -qm -l1 -Q1 {} \; echo Spidered: {} \>\&2 | 
     perl -ne 's/#.*//; s/\s+\d+.\s(\S+)$/$1/ and do { $seen{$1}++ or print }' | 
     grep -F $BASEURL | 
     grep -v -x -F -f $SEEN | tee -a $SEEN > $URLLIST2 
    mv $URLLIST2 $URLLIST 
    done 

    rm -f $URLLIST $URLLIST2 $SEEN 
+0

Эй, спасибо за ответ, однако, я не могу это приспособить, потому что веб-страница, которую я просматриваю, требует включения javascript, а с помощью wget или curl я могу получить только первую часть страницы. – kck

+1

Можете ли вы создать инструмент, который может экспортировать ссылки, такие как: «lynx -listonly -image_links -dump URL» и инструмент, который может получить страницу типа «wget -qm -l1 -Q1 URL», тогда вы должны быть золотыми: просто замените lynx/wget в приведенном выше скрипте. Это то, что я имел в виду под «адаптированием». –

 Смежные вопросы

  • Нет связанных вопросов^_^