За последние 24 часа нас посетили 55307 программистов и 1725 роботов. Сейчас ищут 1086 программистов ...

Массовая вставка html страниц в PHP сайт (msql базу)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Dima4321, 1 апр 2009.

  1. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Добрый день всем.

    Вопрос может показаться гулупым , а может и нет.

    Допустим у меня есть куча html страниц (4000) с разными описаниями товаров.
    Возможно ли при построении сайта на php или может быть есть уже готовые решения в виде скриптов и готовых магазинов, котрорые позволят сделать массовую вставку этих все страниц в базу данных и пропишут мне ссылки на них с определенной страницы .

    Т.е бонально я не хочу вставлять описания товаров сам ...так как это может занять не один месяц. Мне нужна автоматизация... Например название ссылки просто будет копировать тег H1 из Html страницы

    Правильно ли я понимаю, что здесь надо будет пользоваться регулярными выражениями ??

    Если такого скрипта нет, то сколько он может стоить ???
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    1. Можно
    2. Не обязательно регулярки, можно ещё DOM
    3. от 500руб в зависимости об структуры БД
     
  3. кризис? ;)
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    флоппик
    да если там 2 поля только, делов на 5 минут
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    темболее мне за хостинг заплатить какраз =))
     
  6. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Я надеюсь меня правильно понимают.
    Допустим сайт о машинах.
    Все марки и к к ним описание.
    Т.е напрмер Пежо 605 своя страница, Passat B3 своя.

    Нужно,чтобы это все попало в базу данных автоматически.
    И с главной например. На ней был такой громадный каталог ссылок на эти описания.

    Пежо 605 --ссылка
    Passat B3-ссылка
    Ваз 2109 --ссылка
    и.т.д.

    Mr.M.I.T. ты правильно меня понял ??
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    50\50, если нужен сайт каталог, от 5000руб
     
  8. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Да нужен сайт каталог

    А именно странички по отдельности у меня уже есть на жестком диске. (Все с моего HTML сайта)

    Это надо все вогнать в PHP сайт.

    PHP сайта еще нет как и базы ))

    И с Php сайта с заглавной страницы должно идти около 4000 тысч ссылок на эти описания.
    Я так же понимаю что каталог должен разбиться где-то на 40 страниц по 100 ссылок на каждой.
    Все старые html страницы соответсвенно должны быть оформлены под оболочку каталога т.е принят вид данного магазаина-каталога.
     
  9. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    И чтоб эта вся хрень автоматом работала..
    а не я в ручную copy paste делал .
     
  10. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Эй там вы про меня не забыли ????

    Направьте хоть в какой раздел изучения php надо смотреть, а то ничего подобного пока не нашел...(((
     
  11. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  12. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Гы... Зачем sid оставил??? :lol:
     
  13. Щас я его взломаю ))
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ба, а почему сид не в куке 0о
     
  15. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Вообще, на сколько я понимаю, при входе-выходе (при каждом новом создании сессии) phpbb2 отправляет sid одновременно и через куки и к каждой ссылке добавляет. Потом проверяет - если sid в куках пришёл (то бишь если у пользователя куки включены), то для данной сессии он начинает sid пересылать только в куках. А если sid от пользователя вернулся только в GET, а в куках ничего - тогда, соответственно куки отключены и sid для данной сессии будет постоянно в ссылках.
     
  16. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Нафлудили много, а по теме ничего (((

    Понятно, Mr.M.I.T. отправил меня на Free lancer.

    А я спрашивал больше про литератутру. Коакое направление, Какой раздел и т.п
     
  17. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    sobachnik
    вообще-то это автоматом делалось всегда 0о
    раздел парсеров, регулярные выражения
     
  18. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Все файлы в одной директории располагаются у Вас на компьютере?
    Это простая задача.
    Думаю Вам никакой фриланс не нужен, вы все сможете сделать с теми знаниями которые у Вас есть.

    Как-то так:

    1.Функцией scandir получаете список всех файлов.

    2. В цикле берете содержимое файлов, например, функцией file_get_contents.

    3. Регуляркой выдираете себе нужные данные. Вам понадобится функция preg_match или eregi. Я бы рекомендовал preg_match, ибо perl совместимые регулярки рулят.

    4. Данные складываете в какой-нибудь массив.

    5. Затем записываете в БД (можно после того как пройдете все файлы, можно каждые 100-200 файлов, можно (хотя и некрасиво) вообще каждую запись писать в БД отдельно, вам ведь всего один раз нужно этот скрипт запустить).


    Думаю единственная проблема здесь может у Вас может возникнуть с регулярками, рекомендую как минимум прочитать эту статью.
    Вопросы по регуляркам можно задать в разделе "Регулярные выражения". Остальные вопросы по алгоритму скрипта в раздел для новичков.
     
  19. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    akrinel
    ему готовый каталог надо, а потом его забить содержимым этих страниц
     
  20. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Mr.M.I.T., аааа ясн. Я думал у него каталог есть и просто надо базу забить.

    Ну если вдобавок к этому поставить какой-нибудь virtuemart или ecommerse, к которым много документации, задача ненамного усложнится. Максимум в два раза :)
     
  21. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Спасибо большоееееееее akrinel !!!
     
  22. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Можно поставить Denwer, можно связку PHP+MySQL+Apache. Как Вам будет удобнее. ИМХО в большинстве случаев это сугубо религиозный вопрос. (Лично мне, например, Denwer не нравится :) ).

    Можно в одном файле конечно, что-то вроде:

    PHP:
    1. <?php
    2.     /**
    3.       * Путь к каталогу с файлами
    4.       *
    5.       * @var  string
    6.       */
    7.     $dirPath  =  "D:/Devel/MyProjects/PHP";
    8.  
    9.     /**
    10.       * Данные по товарам каталога
    11.       *
    12.       * @var  array
    13.       */
    14.     $wares =  array();
    15.  
    16.     // Получаем список файлов/директорий расположенных в $dirPath
    17.     $fileList  =  scandir($dirPath);
    18.  
    19.     foreach($fileList  as  $file){
    20.  
    21.         $tempFilePath  =  $dirPath.'/'.$file;
    22.  
    23.         if(is_file($tempFilePath)){
    24.             $wares[]  =  parseFile($tempFilePath);
    25.         }
    26.     }
    27.  
    28.     if(!empty($wares)){
    29.         save($wares);
    30.     }
    31.  
    32.  
    33.     /**
    34.       * Парсим файл, получаем данные для записи в БД.
    35.       *
    36.       * @param string $filePath путь к файлу
    37.       *  @return  array
    38.       */
    39.     function  parseFile($filePath){
    40.         $text  =  file_get_contents($filePath);
    41.         // Какая-то регулярка для парсинга
    42.         return  $data;
    43.     }
    44.  
    45.  
    46.     /**
    47.       * Сохраняем данные о товарах в БД
    48.       *
    49.       *  @param  array  wares  данные о товарах
    50.       */
    51.     function  save(){
    52.         // Какие-то манипуляции для сохранения данных
    53.         return  0;
    54.     }
    55. ?>

    ИМХО гораздо удобнее поставить MySQL на комп, на компе все распарсить, а потом просто сделать дамп таблицы с данными и залить на Петерхост.
    Но это опять же дело вкуса, можете ни денвер ни связку на комп не ставить а на компе только писать код, заливать на хостинг и там тестировать.
     
  23. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    И еще раз спасибо akrinel))

    Будем изучать Php дальше....))
     
  24. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    :) Теперь я понял почему ты на аватаре голый.
     
  25. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Акринель ты всё испортил!
    Hight
    да не, просто я не жадный, тем более я движок почти допиал, заодно бы протестил