|
|
|
| Необходимо вытащить поле ems(стоимость доставки почтой).
Примеры страниц.
http://item.taobao.com/item.htm?id=2707659755
http://item.taobao.com/item.htm?id=5247635387
http://item.taobao.com/item.htm?id=5248514025
Вот собственно как это выглядит в html коде.
<em id="J_PostageList">快递: 12.0元 EMS: 50.0元</em>
Проблема в том что данная информация вставляется javascriptoм после прогрузки страницы, т.е. когда я пытаюсь вытащить html код с помощью curl или file_get_contents, то там нет нужной строки.
У кого какие есть идеи.
Либо как-то попытаться вывести формулу. EMS рассчитывается за счет веса, но для товаров нет веса на страничке. | |
|
|
|
|
|
|
|
для: hugi
(27.07.2010 в 18:35)
| | Проанализируйте JS и воспроизведите на PHP | |
|
|
|
|
 232 Кб |
|
|
для: bishake
(27.07.2010 в 23:24)
| | Бог в помощь, я уже этот код анализировал.
Это проблема сложная, для тех кому интересно подумать, а не отвечать на вопросы нубов. | |
|
|
|
|
|
|
|
для: hugi
(27.07.2010 в 18:35)
| | Сложная? Нужно смотреть исходник страницы, а не подключаемые скрипты.
А вообще такие большие листинги кода принято оформлять в виде вложения к посту. Пока никто не ответил на ваше сообщение — исправьте его. | |
|
|
|
|
|
|
|
для: Саня
(28.07.2010 в 11:22)
| | Исправил.
Во-первых, выше написано что в html коде не содержится нужной информации, так что смысле смотреть нет.
Данный элемент вставляется с помощью js скрипта, так что мысль смотреть в подключаемые скрипты правильная. Другой вопрос что от этого пользы тоже никакой.
Да проблема сложная, я ее решить не могу, это не просто curlом скачать и regexpoм вытащить. | |
|
|
|
|
|
|
|
для: hugi
(28.07.2010 в 23:04)
| | Я же не просто так написал "Нужно смотреть исходник страницы, а не подключаемые скрипты."
Сами думать не хотим и других слушать тоже. Ок, тогда разжую.
Заходим по первой попавшейся ссылке: http://item.taobao.com/item.htm?id=2707659755
Видим "EMS: 999.0".
Открываем исходник страницы, Ctrl+F -> "999.0".
Натыкаемся на массив
"valPostFee": {
items: [
['28548538', '7', '710000,810000,820000,990000', '999.0', '0.0'],
['28548537', '7', '210000,220000,230000,460000,520000,530000,540000,620000,630000,640000,650000', '15.0', '4.0'],
['28548536', '4', '420000', '6.0', '3.0'],
['28548535', '4', '710000,810000,820000', '35.0', '30.0'],
['28548534', '4', '150000,460000,540000,640000,650000', '12.0', '6.0'],
['28548533', '4', '140000,210000,220000,230000,450000,520000,530000,610000,620000,630000', '10.0', '4.0'],
['28548532', '7', '1', '12.0', '3.0'],
['28548531', '4', '1', '8.0', '3.0']
],
currDest: '1',
memo: ''
},
| Чтобы разобраться в этой структуре уже может потребоваться копание в подключаемом скрипте, который вы прикрепили. Во всяком случае 5-минутное копание дало мне поверхностное понятие о структуре:
valPostFee.items — массив, хранящий все цены на доставку.
['28548538', '7', '710000,810000,820000,990000', '999.0', '0.0'] -> второй элемент обозначает службу доставки (в данном случае 7 — EMS), третий элемент — коды направлений, на которых действует данная конкретная доставка (710000 — Тайвань, 990000 — "заграница"), четвёртый — искомая цена доставки в юанях.
Внимательнее нужно быть. | |
|
|
|
|
|
|
|
для: Саня
(29.07.2010 в 17:21)
| | Большое спасибо, со вниманием у меня всегда проблемы были. | |
|
|
|
|