Алгоритм записы в базу спарсенного контента

123
OI
На сайте с 05.03.2011
Offline
109
#11

ДА фреймворк не плохой, но его нужно устанавливать. А по-моему на обычных хостинг (не сервак) хрен поставишь. Или я туплю? Залить его в корневую папку вместе с парсером?

OI
На сайте с 05.03.2011
Offline
109
#12

Как записать в базу такое

Array ( [0] => Тормозные колодки: БМВ, 1 (E81) )

Сам код:


$headlines = array();
foreach($html->find('h1') as $header) {
$headlines[] = $header->plaintext;
}
print_r($headlines);
$query =("INSERT INTO'marka'('name')VALUES('$headlines,')");
echo $query

ошибка:

Array ( [0] => Тормозные колодки: БМВ, 1 (E81) )

Notice: Array to string conversion in W:\xampp\htdocs\newsite\index.php on line 30

INSERT INTO'marka'('name')VALUES('Array,')

Что я делаю не так ?

totamon
На сайте с 12.05.2007
Offline
437
#13
ORIGAMMI:
Что я делаю не так ?

для того чтобы хотя бы кодить, нужно учить php...

конкретно в вашем случае получаете массив, а в базу надо вставлять элемент массива, а не весь массив, те

$query =("INSERT INTO'marka'('name')VALUES('$headlines[0],')");
Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
OI
На сайте с 05.03.2011
Offline
109
#14

А если этих Элементов несколько будет?

пример:


Array
(
[0] => Array
(
[text] => 1-к квартира, 43 м², 4/10 эт.
[link] => https://www.avito.ru/penza/kvartiry/1-k_kvartira_43_m_410_et._548929607
)

[1] => Array
(
[text] => Комната 13 м² в 5-к, 3/4 эт.
[link] => https://www.avito.ru/penza/komnaty/komnata_13_m_v_5-k_34_et._846776782
)

[2] => Array
(
[text] => 1-к квартира, 27 м², 9/10 эт.
[link] => https://www.avito.ru/penza/kvartiry/1-k_kvartira_27_m_910_et._790457909
)

// И ещё 48
)
mendel
На сайте с 06.03.2008
Offline
183
#15

оффтоп: а ведь отличная идея если честно - пробовать sql-инъекцию на тех кто тебя парсит. Ну бывает же когда парсер 100% опознал, опознал что не друг он тебе а враг, и запихиваешь ip в бан. А можно и инъекцию устроить. Никогда об этом не думал. Хороший вектор. И главное этичный.

Шутку любишь над Фомой, так люби и над собой. (с) народ. Бесплатные списки читабельных(!) свободных доменов (http://burzhu.net/showthread.php?t=2976) (5L.com) Сайты, All inclusive. 5* (/ru/forum/962215)
IPXI
На сайте с 04.11.2015
Offline
126
#16

ORIGAMMI, вы сэкономите кучу времени, если купите и прочитаете пару книг по PHP + MySQL. Если надо, книги посоветую.

_
На сайте с 24.03.2008
Offline
381
#17
IPXI:
ORIGAMMI, вы сэкономите кучу времени, если купите и прочитаете пару книг по PHP + MySQL. Если надо, книги посоветую.

Это кому так. Для некоторых чтение книг - это только потеря времени....

Но обществу от чтения 100% лучше, так что идею одобряю.

OI
На сайте с 05.03.2011
Offline
109
#18
_SP_:
Это кому так. Для некоторых чтение книг - это только потеря времени....
Но обществу от чтения 100% лучше, так что идею одобряю.

Книги ничего не дадут, нужна практика и наставник, кто подскажет.

В интернете куча статей по пхп и толку, видосы даже есть.


<?php
$db_host="localhost";
$user="sergey";
$pass="JBf8vMn"; //установленный вами пароль
$db_name="braz";
$link = mysqli_connect($db_host, $user, $pass, $db_name)
or die("Ошибка " . mysqli_error($link));
?>
<body>
<?php
require 'simple_html_dom.php';
//подгружаем библиотеку

//создаём новый объект
$html = new simple_html_dom();
//загружаем в него данные
$html = file_get_html('http://site.ru/yaponskaya-dieta.html');
$headlines = array();
foreach($html->find('h1') as $header) {
$headlines[] = $header->plaintext;
}
print_r($headlines);
{
$res = mysql_query('INSERT INTO my_table marka(name,model) VALUES("' . mysql_real_escape_string($header->plaintext) . '")');
if (!$res) die(mysql_error());
}


mysql_close($c);
unset($html);

$html->clear();
unset($html);

?>

<?php

//освобождаем ресурсы

?>
</body>
</html>

Парсер работает, но в базу не пишет. Где ошибка ?

Aisamiery
На сайте с 12.04.2015
Offline
293
#19
Zloy_Tip:


$query = $db->prepare('INSERT INTO tovar SET price=?, name=?, value_1=?, value_n=?');
$query->bind_param('iss', $price, $value_1, $value_n);

Вы зафигачили в запрос 4 параметра, а забиндили 3, mysqli при таком раскладе будет падать

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
I
На сайте с 03.01.2016
Offline
73
#20
ORIGAMMI:
Книги ничего не дадут, нужна практика и наставник, кто подскажет.
В интернете куча статей по пхп и толку, видосы даже есть.

без знания основ, никакая практика не поможет... :)

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий