Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Парсер php file get contents (https://javascript.ru/forum/server/64556-parser-php-file-get-contents.html)

laimas 21.08.2016 18:44

Здрасьте, а что плели околесицу о вставке ссылки в Input и т.д.?
За код парсера страницы нужно платить. Но оплаты можно и избежать, если использовать уже имеющиеся готовые классы, на память названий всех не помню, это simpleHTMLdom и др. Ищите гуглом, изучайте, используйте.

Dark_Delphin 21.08.2016 19:22

Цитата:

Сообщение от laimas (Сообщение 426268)
Здрасьте, а что плели околесицу о вставке ссылки в Input и т.д.?
За код парсера страницы нужно платить. Но оплаты можно и избежать, если использовать уже имеющиеся готовые классы, на память названий всех не помню, это simpleHTMLdom и др. Ищите гуглом, изучайте, используйте.

яву я сам сделаю уже.

У меня не получается спарсить автора, описание?

laimas 21.08.2016 19:40

Ну причем тут ява? Вам клиент собственно говоря вообще не нужен, если "тык", это единственный url, по которому нужно получить данные. Написали скрипт обработчик и запускайте его планировщиком задач.
Если все таки с клиента запускать, но по постоянному url, то просто запрос скрипта на выполнение.

В любом случае парсить будет сервер, ищите в сети указанную библиотеку simpleHTMLdom, не мне же ее для вас качать. В сети есть и описание работы с ней и достаточно чтобы понять как с ней работать, ничего сложного в ней нет.

Если же даже это не поможет, то могу сделать платно, но при условии четко поставленной задачи.

Dark_Delphin 21.08.2016 21:43

Норм библиотека. Установил, вот строки есть которые парсят:

<?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>

Dark_Delphin 21.08.2016 21:54

Щяс доделаю и спрошу что не понимаю.. :write:

laimas 21.08.2016 21:54

Читайте описание ее, в ней получение по url - $html->load_file(url), поиск нужного, это метод find(content).

Dark_Delphin 21.08.2016 22:19

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>';
 
}
 
     
	   
?>

Dark_Delphin 21.08.2016 22:22

Теперь каждое нужно вставить в определенное поле input.
Подскажите как правильно сделать и я сделаю.

Dark_Delphin 21.08.2016 22:48

Получился такой вот скрипт
<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?

laimas 22.08.2016 04:21

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

foreach($html->find('div[class=clearfix] h1') as $element) echo '<input name="as[]" value="'. htmlspecialchars($element->plaintext, ENT_QUOTES) .'" />';


Либо в цикле парсера создается массив из полученных значений, который отдаются клиенту как JSON, над которыми клиент производит те или иные операции.


Часовой пояс GMT +3, время: 07:46.