Гугл. Парсинг первых результатов выдачи.

  • Автор темы Автор темы Parsss
  • Дата начала Дата начала

Parsss

A-Parser Pro License
A-Parser Pro
Подскажите, пожалуйста.
Как спарсить из Гугл, например, первые 5 результатов выдачи по по ключам?
 
Манипулируя параметрами Pages count и Links per page можно задать любое из предустановленых значений (например 2 страницы по 30 ссылок).
Или же использовать в формате результата следующий макрос:
Код:
[% i = 0;
WHILE i < 5;
serp.$i.link _"\n";
i = i + 1;
END %]
X7wCW.png
 
Только, если добавить уникализацию результатов по домену, появляются кое-где пустые строки.
 
Можно использовать еще такой вариант:
Код:
[% FOREACH serp;
IF loop.count < 6;
link _"\n";
END;
END %]
Вроде при использовании уникализации нет пустых строк. Но тут нужное кол-во ссылок нужно задавать на 1 больше.
 
Код:
[% i = 0;
WHILE i < 5;
serp.$i.link _"\n";
i = i + 1;
END %]
Как тут изменить, чтоб на выходе было запрос;ссылка ?
 
Подскажите пожалуйста, а как подправить чтобы собирал топ 3 и сразу парсил текстовку по этим линкам сразу.
Почему то зависает при таких настройках.
Screenshot_28.png
eyJwcmVzZXQiOiJcdTA0MjJcdTA0M2VcdTA0M2YtMyBcdTA0MzNcdTA0NDNcdTA0
MzNcdTA0M2IgXHUwNDQ3LjEgKFx1MDQ0MVx1MDQzMVx1MDQzZVx1MDQ0MCBcdTA0
M2JcdTA0MzhcdTA0M2RcdTA0M2FcdTA0M2VcdTA0MzIpIiwidmFsdWUiOnsicHJl
c2V0IjoiXHUwNDIyXHUwNDNlXHUwNDNmLTMgXHUwNDMzXHUwNDQzXHUwNDMzXHUw
NDNiIFx1MDQ0Ny4xIChcdTA0NDFcdTA0MzFcdTA0M2VcdTA0NDAgXHUwNDNiXHUw
NDM4XHUwNDNkXHUwNDNhXHUwNDNlXHUwNDMyKSIsInBhcnNlcnMiOltbIlNFOjpH
b29nbGUiLCJkZWZhdWx0Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0
cmVzdWx0IiwidmFsdWUiOiJbJSBpID0gMDsgV0hJTEUgaSA8IDM7IHNlcnAuJGku
bGluayBfXCJcXG5cIjsgaSA9IGkgKyAxOyBFTkQgJV0ifSx7InR5cGUiOiJvdmVy
cmlkZSIsImlkIjoicGFnZWNvdW50IiwidmFsdWUiOjF9LHsidHlwZSI6Im92ZXJy
aWRlIiwiaWQiOiJkb21haW4iLCJ2YWx1ZSI6Ind3dy5nb29nbGUuY29tIn0seyJ0
eXBlIjoib3ZlcnJpZGUiLCJpZCI6InByb3h5cmV0cmllcyIsInZhbHVlIjoiMTAi
fSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoidXNlcHJveHkiLCJ2YWx1ZSI6ZmFs
c2V9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJsaW5rc3BlcnBhZ2UiLCJ2YWx1
ZSI6MTB9XSxbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5cGUi
OiJmaWx0ZXIiLCJyZXN1bHQiOlsidGV4dHMiLCJ0ZXh0Il0sImZpbHRlclR5cGUi
OiJyZW1hdGNoIiwidmFsdWUiOiJbICxcXHdcXGRdezMwLH1bIT8uXSIsIm9wdGlv
biI6IiJ9XV0sInJlc3VsdHNGb3JtYXQiOiIkcDEucHJlc2V0IiwicmVzdWx0c1Nh
dmVUbyI6ImZpbGUiLCJyZXN1bHRzRmlsZU5hbWUiOiIvdG9wMy9saW5rcy50eHQi
LCJhZGRpdGlvbmFsRm9ybWF0cyI6W1siL3RvcDMvdGV4dC50eHQiLCIkcDIucHJl
c2V0Il1dLCJyZXN1bHRzVW5pcXVlIjoibm8iLCJxdWVyaWVzRnJvbSI6InRleHQi
LCJxdWVyeUZvcm1hdCI6WyIkcXVlcnkiXSwidW5pcXVlUXVlcmllcyI6ZmFsc2Us
InNhdmVGYWlsZWRRdWVyaWVzIjp0cnVlLCJpdGVyYXRvck9wdGlvbnMiOnsib25B
bGxMZXZlbHMiOmZhbHNlLCJxdWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6ZmFs
c2UsInF1ZXJ5QnVpbGRlcnNPbkFsbExldmVscyI6ZmFsc2V9LCJyZXN1bHRzT3B0
aW9ucyI6eyJvdmVyd3JpdGUiOnRydWV9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1
ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOnRydWUsInJlc3VsdHNQcmVwZW5kIjoiIiwi
cmVzdWx0c0FwcGVuZCI6IiIsInF1ZXJ5QnVpbGRlcnMiOltdLCJyZXN1bHRzQnVp
bGRlcnMiOltdLCJjb25maWdPdmVycmlkZXMiOltdLCJydW5UYXNrT25Db21wbGV0
ZSI6bnVsbCwidXNlUmVzdWx0c0ZpbGVBc1F1ZXJpZXNGaWxlIjpmYWxzZSwicnVu
VGFza09uQ29tcGxldGVDb25maWciOiJkZWZhdWx0IiwidG9vbHNKUyI6IiIsInF1
ZXJpZXMiOiJkaXNjb3ZlcnkifX0=
 
Почему зависает - сложно сказать, но сам пресет в корне не правильный. Результаты парсинга одного парсера не могут быть переданы в другой в рамках одного задания. Парсеры в одном задании работают параллельно. При таких настройках, как на скриншоте, у вас по запросу парсится выдача Гугла и одновременно, пытается парсится текст, но т.к. скорее всего запрос - просто ключевое слово, то HTML::TextExtractor выдаст ошибку (будет неудачный).
Для решения вашей задачи нужно использовать 2 задания: первым парсите ссылки из Гугла, вторым - собираете по ним текст.
 
Назад
Верх