Как связать SE::Google и HTML::TextExtractor

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

felix

A-Parser Enterprise License
A-Parser Enterprise
Добрый день, прошу помочь в моем вопросе.

Имеем ключевые слова по ним нужно собрать текстовые блоки >1000 символов.
Как я думаю логика такова:
1. Вначале по ключам парсим выдачу (например 100 результатов)
2. Сохраняем все это дело в формате ($query - $p1.preset) итого получится в файле ключевое слово + 100 ссылок.
3. Запускаем HTML::TextExtractor и че тут делать я уже не знаю - но на выходе я должен получить
<title>$query</title>
<p>текст длиной 500</p>
<p>текст длиной 500</p>
<p>текст длиной 500</p>

т.е. изначальный ключ который мы парсили по первому парсеру и несколько абзацев текста.

И еще проблема в том что ключей много и на выходе первого парсера получится 1 кей = 1 файл, и как после этого работать со вторым парсером с таким количеством файлов я не знаю.

Спасибо.
 
Последнее редактирование:
Добрый день.
На первом этапе используйте такой формат результата:
Код:
$p1.serp.format('$query;$link\n')
А дальше сделайте как на скрине, указав в качестве файла запросов файл, полученный на первом этапе:
4GcdR.png

Код:
eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
cGUiOiJvdmVycmlkZSIsImlkIjoibWluYmxvY2tsZW5ndGgiLCJ2YWx1ZSI6IjEw
MDAifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFs
dWUiOiIkdGV4dHMuZm9ybWF0KCc8cD4kdGV4dDwvcD5cXG4nKSJ9LHsidHlwZSI6
Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVlIjoiJHF1ZXJ5Lmxp
bmsifV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNldCIsInJlc3VsdHNTYXZl
VG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoidGV4dHMvJHtxdWVyeS5rZXl9
LnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5v
IiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNl
LCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJv
bkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpm
YWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xv
ZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJy
ZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxk
ZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5cGUiOiJzdHJpbmdTcGxpdCIsInNl
cGFyYXRvciI6IjsiLCJ0byI6WyJrZXkiLCJsaW5rIl19XSwicmVzdWx0c0J1aWxk
ZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVzIjpbXX19
В результате в папке texts вы получите на каждый ключ по файлу, внутри которых будут все текстовые блоки >1000 символов.

ИЛИ
eIXZO.png

Код:
eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
cGUiOiJvdmVycmlkZSIsImlkIjoibWluYmxvY2tsZW5ndGgiLCJ2YWx1ZSI6IjEw
MDAifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFs
dWUiOiI8dGl0bGU+JHF1ZXJ5LmtleTwvdGl0bGU+XFxuJHRleHRzLmZvcm1hdCgn
PHA+JHRleHQ8L3A+XFxuJykifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicXVl
cnlmb3JtYXQiLCJ2YWx1ZSI6IiRxdWVyeS5saW5rIn1dXSwicmVzdWx0c0Zvcm1h
dCI6IiRwMS5wcmVzZXQiLCJyZXN1bHRzU2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNG
aWxlTmFtZSI6IiRkYXRlZmlsZS5mb3JtYXQoKS50eHQiLCJhZGRpdGlvbmFsRm9y
bWF0cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJ5Rm9ybWF0IjpbIiRx
dWVyeSJdLCJ1bmlxdWVRdWVyaWVzIjpmYWxzZSwic2F2ZUZhaWxlZFF1ZXJpZXMi
OmZhbHNlLCJpdGVyYXRvck9wdGlvbnMiOnsib25BbGxMZXZlbHMiOmZhbHNlLCJx
dWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6ZmFsc2V9LCJyZXN1bHRzT3B0aW9u
cyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwiZG9Mb2ciOiJubyIsImtlZXBVbmlxdWUi
OiJObyIsIm1vcmVPcHRpb25zIjpmYWxzZSwicmVzdWx0c1ByZXBlbmQiOiIiLCJy
ZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWlsZGVycyI6W3sic291cmNlIjoicXVl
cnkiLCJ0eXBlIjoic3RyaW5nU3BsaXQiLCJzZXBhcmF0b3IiOiI7IiwidG8iOlsi
a2V5IiwibGluayJdfV0sInJlc3VsdHNCdWlsZGVycyI6W10sImNvbmZpZ092ZXJy
aWRlcyI6W119fQ==
В этом случае вы получите один файл, в котором будет выведен ключ и текстовые блоки для каждой полученной ссылки.
 
Добрый день.
На первом этапе используйте такой формат результата:
Код:
$p1.serp.format('$query;$link\n')
А дальше сделайте как на скрине, указав в качестве файла запросов файл, полученный на первом этапе:
4GcdR.png

Код:
eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
cGUiOiJvdmVycmlkZSIsImlkIjoibWluYmxvY2tsZW5ndGgiLCJ2YWx1ZSI6IjEw
MDAifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFs
dWUiOiIkdGV4dHMuZm9ybWF0KCc8cD4kdGV4dDwvcD5cXG4nKSJ9LHsidHlwZSI6
Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVlIjoiJHF1ZXJ5Lmxp
bmsifV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNldCIsInJlc3VsdHNTYXZl
VG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoidGV4dHMvJHtxdWVyeS5rZXl9
LnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5v
IiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNl
LCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJv
bkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpm
YWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xv
ZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJy
ZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxk
ZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5cGUiOiJzdHJpbmdTcGxpdCIsInNl
cGFyYXRvciI6IjsiLCJ0byI6WyJrZXkiLCJsaW5rIl19XSwicmVzdWx0c0J1aWxk
ZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVzIjpbXX19
В результате в папке texts вы получите на каждый ключ по файлу, внутри которых будут все текстовые блоки >1000 символов.

ИЛИ
eIXZO.png

Код:
eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
cGUiOiJvdmVycmlkZSIsImlkIjoibWluYmxvY2tsZW5ndGgiLCJ2YWx1ZSI6IjEw
MDAifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFs
dWUiOiI8dGl0bGU+JHF1ZXJ5LmtleTwvdGl0bGU+XFxuJHRleHRzLmZvcm1hdCgn
PHA+JHRleHQ8L3A+XFxuJykifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicXVl
cnlmb3JtYXQiLCJ2YWx1ZSI6IiRxdWVyeS5saW5rIn1dXSwicmVzdWx0c0Zvcm1h
dCI6IiRwMS5wcmVzZXQiLCJyZXN1bHRzU2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNG
aWxlTmFtZSI6IiRkYXRlZmlsZS5mb3JtYXQoKS50eHQiLCJhZGRpdGlvbmFsRm9y
bWF0cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJ5Rm9ybWF0IjpbIiRx
dWVyeSJdLCJ1bmlxdWVRdWVyaWVzIjpmYWxzZSwic2F2ZUZhaWxlZFF1ZXJpZXMi
OmZhbHNlLCJpdGVyYXRvck9wdGlvbnMiOnsib25BbGxMZXZlbHMiOmZhbHNlLCJx
dWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6ZmFsc2V9LCJyZXN1bHRzT3B0aW9u
cyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwiZG9Mb2ciOiJubyIsImtlZXBVbmlxdWUi
OiJObyIsIm1vcmVPcHRpb25zIjpmYWxzZSwicmVzdWx0c1ByZXBlbmQiOiIiLCJy
ZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWlsZGVycyI6W3sic291cmNlIjoicXVl
cnkiLCJ0eXBlIjoic3RyaW5nU3BsaXQiLCJzZXBhcmF0b3IiOiI7IiwidG8iOlsi
a2V5IiwibGluayJdfV0sInJlc3VsdHNCdWlsZGVycyI6W10sImNvbmZpZ092ZXJy
aWRlcyI6W119fQ==
В этом случае вы получите один файл, в котором будет выведен ключ и текстовые блоки для каждой полученной ссылки.
Добрый день!
А подскажите, как составить задание на парсинг контента в таком виде(входящие query будут ссылки на страницу, все страницы состоят из <h2></h2> и <p></p>):
Титл; meta description; meta keywords; h2, тексты к нему <p></p>(их может быть несколько) и ключи <strong></strong>; следующие h2 и тексты к нему <p></p> и т.д.
И вывод результатов в таблицу:
Урл(query); титл; meta description; meta keywords; h2, тексты к нему <p></p>(их может быть несколько) и ключи <strong></strong>; следующие h2, тексты к нему <p></p> и и ключи <strong></strong>; т.д. все тексты со страницы.
 
Добрый день.
Используйте Net::HTTP Net::HTTP и регулярные выражения для каждого элемента. Плюс формируйте результат, выводя результаты в нужной последовательности.
 
Добрый день.
Используйте Net::HTTP Net::HTTP и регулярные выражения для каждого элемента. Плюс формируйте результат, выводя результаты в нужной последовательности.
Посмотрите, делаю так, но я так понимаю у меня есть ошибки, т.к. результат "Nope". Не знаю как вывести нормально результат(в эксель), если конечно результат будет.
Также, в переменных text, h2 и key должны быть массивы или я не прав?
парсинг контента.jpg
 
Также, в переменных text, h2 и key должны быть массивы или я не прав?
Чтобы они были - выберите флаг g. Подробнее о регулярках в А-Парсере: http://a-parser.com/wiki/regex/
Посмотрите, делаю так, но я так понимаю у меня есть ошибки, т.к. результат "Nope". Не знаю как вывести нормально результат(в эксель), если конечно результат будет.
1) Формат результата должен быть один. Например:
Код:
$title;$texts.format('$text|');$h2s.format('$h2|');$keys.format('$key|')\n
Детальнее о результатах в А-Парсере: http://a-parser.com/wiki/results-representation/, http://a-parser.com/wiki/result-format/
2) Расширение файла измените на csv
 
Чтобы они были - выберите флаг g. Подробнее о регулярках в А-Парсере: http://a-parser.com/wiki/regex/

1) Формат результата должен быть один. Например:
Код:
$title;$texts.format('$text|');$h2s.format('$h2|');$keys.format('$key|')\n
Детальнее о результатах в А-Парсере: http://a-parser.com/wiki/results-representation/, http://a-parser.com/wiki/result-format/
2) Расширение файла измените на csv
Переделал, теперь пустой результат(в каждой строке только знаки разделителей ";;;;"), но уже не "nope") Подскажите, хочу сделать рабочий шаблон.
парсинг контента.jpg
 
Почитайте еще раз внимательно Документацию и то, что я написал.

Формат результат должен быть один, хотя в том случае, что на последнем скрине, это ни на что не повлияет.
Если вы задаете шаблон в Общем формате результата, то нужно ссылаться на парсер. В вашем случае шаблон для Общего формата результата будет выглядеть так:
Код:
$p1.title;$p1.texts.format('$text|');$p1.h2s.format('$h2|');$p1.keys.format('$key|')\n
 
Назад
Верх