Используйте следующие примеры того, как преобразовать таблицы HTML into Электронные таблицы JSON, CSV и Excel с использованием Perl API от GrabzIt, Однако, прежде чем начать, помните, что после вызова URLToTable, HTMLToTable or FileToTable методы Save or SaveTo Метод должен быть извлечен из таблицы захвата. Если вы хотите быстро узнать, подходит ли вам эта услуга, вы можете попробовать живая демонстрация захвата таблиц HTML с URL.
Приведенный ниже пример кода автоматически преобразует первую HTML-таблицу, обнаруженную на указанной веб-странице. intдокумент CSV.
$grabzIt->URLToTable("https://www.tesla.com"); # Then call the Save or SaveTo method
$grabzIt->HTMLToTable("<html><body><table><tr><th>Name</th><th>Age</th></tr> <tr><td>Tom</td><td>23</td></tr><tr><td>Nicola</td><td>26</td></tr> </table></body></html>"); # Then call the Save or SaveTo method
$grabzIt->FileToTable("tables.html"); # Then call the Save or SaveTo method
По умолчанию это преобразует первую таблицу, которую идентифицирует intо стол. Однако вторую таблицу на веб-странице можно преобразовать, передав 2 tableNumberToInclude
метод.
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->tableNumberToInclude(2); $grabzIt->URLToTable("https://www.tesla.com", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.csv");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->tableNumberToInclude(2); $grabzIt->HTMLToTable("<html><body><table><tr><th>Name</th><th>Age</th></tr> <tr><td>Tom</td><td>23</td></tr><tr><td>Nicola</td><td>26</td></tr> </table></body></html>", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.csv");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->tableNumberToInclude(2); $grabzIt->FileToTable("tables.html", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.csv");
Вы также можете указать targetElement
метод, который будет гарантировать, что будут преобразованы только таблицы в пределах указанного идентификатора элемента.
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->targetElement("stocks_table"); $grabzIt->URLToTable("https://www.tesla.com", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.csv");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->targetElement("stocks_table"); $grabzIt->HTMLToTable("<html><body><table id='stocks_table'><tr><th>Name</th><th>Age</th></tr> <tr><td>Tom</td><td>23</td></tr><tr><td>Nicola</td><td>26</td></tr> </table></body></html>", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.csv");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->targetElement("stocks_table"); $grabzIt->FileToTable("tables.html", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.csv");
В качестве альтернативы вы можете захватить все таблицы на веб-странице, передав true в includeAllTables
метод, однако это будет работать только с форматом XLSX. Этот параметр поместит каждую таблицу на новый лист в созданную книгу электронных таблиц.
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->format('xlsx'); $options->includeAllTables(1); $grabzIt->URLToTable("https://www.tesla.com", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.xlsx");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->format('xlsx'); $options->includeAllTables(1); $grabzIt->HTMLToTable("<html><body><table><tr><th>Name</th><th>Age</th></tr> <tr><td>Tom</td><td>23</td></tr><tr><td>Nicola</td><td>26</td></tr> </table></body></html>", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.xlsx");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->format('xlsx'); $options->includeAllTables(1); $grabzIt->FileToTable("tables.html", $options); # Then call the Save or SaveTo method $grabzIt->SaveTo("result.xlsx");
С Perl и GrabzIt вы можете конвертировать найденные HTML-таблицы intо JSON. Для начала укажите json
в параметре формата. В примере мы делаем синхронный звонок с помощью SaveTo
метод, который возвращает JSON string, это может быть проанализировано библиотекой JSON :: Анализировать.
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->format("json"); $options->tableNumberToInclude(1); $grabzIt->URLToTable("https://www.tesla.com", $options); $json = $grabzIt->SaveTo();
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->format("json"); $options->tableNumberToInclude(1); $grabzIt->HTMLToTable("<html><body><table><tr><th>Name</th><th>Age</th></tr> <tr><td>Tom</td><td>23</td></tr><tr><td>Nicola</td><td>26</td></tr> </table></body></html>", $options); $json = $grabzIt->SaveTo();
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->format("json"); $options->tableNumberToInclude(1); $grabzIt->FileToTable("tables.html", $options); $json = $grabzIt->SaveTo();
Вы можете передать пользовательский идентификатор таблицу методами, как показано ниже, это значение затем возвращается в ваш обработчик GrabzIt Perl. Например, этот пользовательский идентификатор может быть идентификатором базы данных, что позволяет связать снимок экрана с определенной записью базы данных.
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->customId("123456"); $grabzIt->URLToTable("https://www.tesla.com", $options); # Then call the Save method $grabzIt->Save("http://www.example.com/handler.pl");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->customId("123456"); $grabzIt->HTMLToTable("<html><body><h1>Hello World!</h1></body></html>", $options); # Then call the Save method $grabzIt->Save("http://www.example.com/handler.pl");
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret"); $options = GrabzItTableOptions->new(); $options->customId("123456"); $grabzIt->FileToTable("example.html", $options); # Then call the Save method $grabzIt->Save("http://www.example.com/handler.pl");