21.08.2016, 18:44
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Здрасьте, а что плели околесицу о вставке ссылки в Input и т.д.?
За код парсера страницы нужно платить. Но оплаты можно и избежать, если использовать уже имеющиеся готовые классы, на память названий всех не помню, это simpleHTMLdom и др. Ищите гуглом, изучайте, используйте.
|
|
21.08.2016, 19:22
|
|
Кандидат Javascript-наук
|
|
Регистрация: 25.07.2013
Сообщений: 129
|
|
Сообщение от laimas
|
Здрасьте, а что плели околесицу о вставке ссылки в Input и т.д.?
За код парсера страницы нужно платить. Но оплаты можно и избежать, если использовать уже имеющиеся готовые классы, на память названий всех не помню, это simpleHTMLdom и др. Ищите гуглом, изучайте, используйте.
|
яву я сам сделаю уже.
У меня не получается спарсить автора, описание?
|
|
21.08.2016, 19:40
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ну причем тут ява? Вам клиент собственно говоря вообще не нужен, если "тык", это единственный url, по которому нужно получить данные. Написали скрипт обработчик и запускайте его планировщиком задач.
Если все таки с клиента запускать, но по постоянному url, то просто запрос скрипта на выполнение.
В любом случае парсить будет сервер, ищите в сети указанную библиотеку simpleHTMLdom, не мне же ее для вас качать. В сети есть и описание работы с ней и достаточно чтобы понять как с ней работать, ничего сложного в ней нет.
Если же даже это не поможет, то могу сделать платно, но при условии четко поставленной задачи.
|
|
21.08.2016, 21:43
|
|
Кандидат Javascript-наук
|
|
Регистрация: 25.07.2013
Сообщений: 129
|
|
Норм библиотека. Установил, вот строки есть которые парсят:
<?php
include_once('../simple_html_dom.php');
echo file_get_html('https://gta5-mods.com/vehicles/2013-audi-s8-fsi-beta')->plaintext;
?>
а как сделать, что-бы парсило определленные места?
Например, то что в тегах
<a class="myid"> ... </a>
|
|
21.08.2016, 21:54
|
|
Кандидат Javascript-наук
|
|
Регистрация: 25.07.2013
Сообщений: 129
|
|
Щяс доделаю и спрошу что не понимаю..
|
|
21.08.2016, 21:54
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Читайте описание ее, в ней получение по url - $html->load_file(url), поиск нужного, это метод find(content).
|
|
21.08.2016, 22:19
|
|
Кандидат Javascript-наук
|
|
Регистрация: 25.07.2013
Сообщений: 129
|
|
laimas,
Вот вывожу два раза, правильно так будет?
<?php
include_once('simple_html_dom.php');
if (isset($_POST['sub']) ) {
// Create DOM from URL or file
$html = file_get_html($_POST ['link']);
// Find all images
foreach($html->find('div[class=clearfix] h1') as $element)
echo $element->plaintext . '<br>';
// Find all images
foreach($html->find('a[class=username]') as $element)
echo $element->plaintext . '<br>';
}
?>
|
|
21.08.2016, 22:22
|
|
Кандидат Javascript-наук
|
|
Регистрация: 25.07.2013
Сообщений: 129
|
|
Теперь каждое нужно вставить в определенное поле input.
Подскажите как правильно сделать и я сделаю.
|
|
21.08.2016, 22:48
|
|
Кандидат Javascript-наук
|
|
Регистрация: 25.07.2013
Сообщений: 129
|
|
Получился такой вот скрипт
<form action="example_extract_html.php" method="post">
<input type="text" name="link" value="">
<input type="submit" name="sub" value="button">
</form>
<?php
include_once('simple_html_dom.php');
if (isset($_POST['sub']) ) {
// Create DOM from URL or file
$html = file_get_html($_POST ['link']);
// Find all images
foreach($html->find('div[class=clearfix] h1') as $element)
echo $element->plaintext;
// Find all images
foreach($html->find('a[class=username]') as $element)
echo '<span id="pars">';
echo $element->plaintext;
echo '</span>';
}
?>
<input type="button" value="add" onclick = "document.getElementById('out').value += document.getElementById('pars').value + '\n'">
Но почму в поле input вставляется значение undefined?
|
|
22.08.2016, 04:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вы пытаетесь скрестить ежика с колючей проволокой - серверный язык ничего не подозревает о клиентском языке и наоборот. Если полученные парсером данные нужно вставить в поля формы, которая будет отдана клиенту, то делать это нужно здесь:
foreach($html->find('div[class=clearfix] h1') as $element) echo '<input name="as[]" value="'. htmlspecialchars($element->plaintext, ENT_QUOTES) .'" />';
Либо в цикле парсера создается массив из полученных значений, который отдаются клиенту как JSON, над которыми клиент производит те или иные операции.
Последний раз редактировалось laimas, 22.08.2016 в 04:23.
|
|
|
|