Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Парсинг страницы с не простой кодировкой
Форумы портала PHP.SU » » HTTP и PHP » Парсинг страницы с не простой кодировкой

Страниц (1): [1]
 

1. pernik - 12 Февраля, 2019 - 18:10:14 - перейти к сообщению
Всем гуру PHP привет, пытаюсь спарсить эту http://david[dot]kh[dot]ua/ страницу, но на выходе получаю битую кодировку, может кто что подскажет.
2. Vladimir Kheifets - 13 Февраля, 2019 - 07:35:01 - перейти к сообщению
Добрый день!
Неплохо бы было увидеть Ваш pattern.
Вы не зaбыли добавить в pattern u ?
Например, '/................../u'
см.
https://maxivak[dot]com/working-with[dot][dot][dot]-strings-in-php/
Удачи!
3. pernik - 13 Февраля, 2019 - 11:42:46 - перейти к сообщению
Vladimir Kheifets пишет:
Добрый день!
Неплохо бы было увидеть Ваш pattern.
Вы не зaбыли добавить в pattern u ?
Например, '/................../u'
см.
https://maxivak[dot]com/working-with[dot][dot][dot]-strings-in-php/
Удачи!


Да там явно не UTF-8, я предпологаю что там кодируют html при обращении с другого сервера. Не знаю можно ли это как то обойти ?
4. Vladimir Kheifets - 13 Февраля, 2019 - 20:40:14 - перейти к сообщению
pernik пишет:
Да там явно не UTF-8, я предпологаю что там кодируют html при обращении с другого сервера. Не знаю можно ли это как то обойти ?


там явно не UTF-8? см. что там
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html lang="ru-RU">
  3. <head>
  4.  <meta charset="UTF-8">
  5. <title>Давид | Давид- наружная реклама Харьков</title>
  6.  <meta name="viewport" content="width=device-width" />
  7. <link rel="shortcut icon" href="/favicon.png" type="image/x-icon">
  8.  <link rel="icon" href="/favicon.png" type="image/x-icon">
  9. ..........................................................
  10. ..........................................................
5. pernik - 14 Февраля, 2019 - 10:34:57 - перейти к сообщению
Vladimir Kheifets пишет:
pernik пишет:
Да там явно не UTF-8, я предпологаю что там кодируют html при обращении с другого сервера. Не знаю можно ли это как то обойти ?


там явно не UTF-8? см. что там
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html lang="ru-RU">
  3. <head>
  4.  <meta charset="UTF-8">
  5. <title>Давид | Давид- наружная реклама Харьков</title>
  6.  <meta name="viewport" content="width=device-width" />
  7. <link rel="shortcut icon" href="/favicon.png" type="image/x-icon">
  8.  <link rel="icon" href="/favicon.png" type="image/x-icon">
  9. ..........................................................
  10. ..........................................................


А у меня это
echo file_get_contents("http://david.kh.ua");

‹н]{“ЫЦuяЯџ‹Lґ»5Бчk\U–е4ЌвШ’Э4±<; ’Ш% Й]Лљ±-»Iк4qУ¤Н¤MТДЙ4™>F¶ҐD¶e{¦џЂыЌъ;з ^д‚+j-w2#-I<оЅзЮуѕзњ»»цф7.їр­з®H]§ЯЫЫҐїROt
6. andrewkard - 14 Февраля, 2019 - 12:24:23 - перейти к сообщению
Дело не в кодировке, кодировка UTF-8, дело в сжатии

PHP:
скопировать код в буфер обмена
  1.  
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, "http://david.kh.ua");
  4. curl_setopt($ch,CURLOPT_ENCODING , "gzip");
  5. $html = curl_exec($ch);
  6.  
7. Vladimir Kheifets - 14 Февраля, 2019 - 12:26:00 - перейти к сообщению
pernik пишет:
Vladimir Kheifets пишет:
pernik пишет:
Да там явно не UTF-8, я предпологаю что там кодируют html при обращении с другого сервера. Не знаю можно ли это как то обойти ?


там явно не UTF-8? см. что там
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html lang="ru-RU">
  3. <head>
  4.  <meta charset="UTF-8">
  5. <title>Давид | Давид- наружная реклама Харьков</title>
  6.  <meta name="viewport" content="width=device-width" />
  7. <link rel="shortcut icon" href="/favicon.png" type="image/x-icon">
  8.  <link rel="icon" href="/favicon.png" type="image/x-icon">
  9. ..........................................................
  10. ..........................................................


А у меня это
echo file_get_contents("http://david.kh.ua");

‹н]{“ЫЦuяЯџ‹Lґ»5Бчk\U–е4ЌвШ’Э4±<; ’Ш% Й]Лљ±-»Iк4qУ¤Н¤MТДЙ4™>F¶ҐD¶e{¦џЂыЌъ;з ^д‚+j-w2#-I<оЅзЮуѕзњ»»цф7.їр­з®H]§ЯЫЫҐїROt


Добрый день!
Попробуйте сделать так:
Спойлер (Отобразить)
Это результат( в нём, например, NULL ["textContent"]=> string(12120) "Давид | Давид- наружная реклама Харьков):
Спойлер (Отобразить)
cм. https://stackoverflow[dot]com/questi[dot][dot][dot]rl-utf-8-charset
Удачи!
8. pernik - 14 Февраля, 2019 - 18:07:37 - перейти к сообщению
Спасибо, помогло !!!
9. LIME - 16 Февраля, 2019 - 09:27:17 - перейти к сообщению
Vladimir Kheifets не думал что скажу такую гадость...
Ты молодец

 

Powered by ExBB FM 1.0 RC1