Соскреб в Интернете для получения информации о продукте, а не списка / таблицы в UIPath - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть ситуация, когда я хочу обработать профиль компании, например, с разметкой 20/30 различных атрибутов на одной странице, сохранить каждый из этих элементов в качестве заголовка столбца, разбить на страницы в каталоге и построить таблицу с каждымстраница в виде строки, а столбцы - это различные точки данных (все они имеют разные теги на одной странице, но согласованы на разных страницах)

Сейчас я проходил кропотливый процесс копирования текста ииспользование проводника пользовательского интерфейса для поиска элемента, что очень сложно по сравнению с мастером очистки экрана.

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

https://www.owler.com/company/tesla

Ссылка: https://forum.uipath.com/t/web-scraping-for-details-not-a-list-table/68802

но здесь не решение

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Поскольку данные не в стандартном формате данных, мастер извлечения данных здесь не будет работать, как вы выяснили.Тем не менее, поскольку данные отображаются в одном и том же месте в разных компаниях, можно использовать динамический селектор.Например, поле «Найденные данные» всегда будет находиться в местоположении, указанном этим селектором:

- <- html app = 'chrome.exe' title = '<em> Конкуренты, доходы и сотрудники - Профиль компании-владельца '/>

- <- webctrl css-selector =' body> div> div> div> div> div> div> div> div> div> div> div> div> p 'isleaf ='1' tag = 'P' parentclass = 'right-block' idx = '1' />

* примечание Я заменил <тег на - <-, чтобы показать код, поскольку стек интерпретирует html </p>

и, как таковые, страницы могут измениться на других конкурентов, но тот же селектор, который использовался в операции Get Text, даст результат, соответствующий самому конкуренту.

Это было бы много работы, и поэтому, вероятно, было бы хорошо оценить, стоит ли это делать время разработки.Если вы просто хотите ознакомиться с интерфейсом, я бы порекомендовал более стандартный набор данных, который будет хорошо работать с мастером, например, его можно найти здесь: https://editor.datatables.net/

Это, вероятно, будет менее захватывающим, так какмастер будет работать адекватно.

0 голосов
/ 15 января 2019

Согласно документации вы можете удалить любые структурированные данные.

https://studio.uipath.com/docs/about-data-scraping

Поскольку данные в owler структурированы, единственная проблема, которая не позволяет использовать мастер утилизации для получения информации обо всех компаниях , заключается в том, чтоНевозможно указать кнопку Далее на веб-странице для перехода к следующим элементам.

Так что, «по моему мнению», вы могли бы подойти к этой проблеме по-другому.Вы можете попробовать следующее:

  1. Создать список компаний в файле Excel или в очереди оркестратора.
  2. Открыть браузер и войти (при необходимости)
  3. Чтение данных из Excel или очереди.
  4. Итерации по элементам и для каждого элемента
  5. Перейдите на страницу компании, добавив baseURL
    (https://www.owler.com/company) с названием компании, прочитанным из
    Строка Excel / транзакция очереди и используйте переход к действию (https://activities.uipath.com/docs/navigate-to), чтобы перейти на эту страницу.
  6. Использование базового действия привязки (https://activities.uipath.com/docs/anchor-base) с фиксированным элементом для получениязначение, которое вы хотите. Например, использование метки годового дохода в качестве привязки для получения значения годового дохода. Если вы сможете найти правильную точку привязки, это даст вам более точный результат даже в случае изменения стиля, ваш процесс все равно будет работать.
  7. Запишите извлеченные данные в ваш файл Excel

Если вы не знаете, с чего начать, взгляните на https://github.com/UiPath/ReFrameWork, Я думаю, что это отличная отправная точка.

...