webjey

Рейтинг
46
Регистрация
09.04.2013

Вот практически универсальный парсер

$ch = curl_init('http://tao.ru/catalog/523396457734.html');

curl_setopt($ch, CURLOPT_USERAGENT, 'IE20');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
preg_match('#item.js\?iid=(?P<iid>\d+)#', $page, $result);
$url = sprintf('http://tao.ru/item.js?iid=%d', $result['iid']);
curl_setopt($ch, CURLOPT_URL, $url);
$json = curl_exec($ch);
$info = json_decode($json);
$itemId = $info->data->item->itemNumId;
$sellerId = $info->data->seller->userNumId;
$param = array(
'callback' => '_process_review_imgs_tmall',
'itemId' => $itemId,
'sellerId' => $sellerId,
'picture' => 1,
'currentPage' => 1
);
$url = 'https://rate.tmall.com/list_detail_rate.htm?' . http_build_query($param);
curl_setopt($ch, CURLOPT_URL, $url);
$json = curl_exec($ch);
curl_close($ch);
$json = substr($json, 32, -1);
$json = json_decode(utf8_encode($json));
foreach ($json->rateDetail->rateList as $rate) {
foreach ($rate->pics as $img) {
echo str_replace('//img.', 'http://img.', $img) . PHP_EOL;
}
}

На http://tao.ru/catalog/523396457734.html выдает


http://img.alicdn.com/bao/uploaded/i2/164410144544253683/TB2MxIWhFXXXXXxXXXXXXXXXXXX_!!0-rate.jpg

На http://tao.ru/catalog/tehnika/bytovaya/kuhonnaya/kofemashiny/6lQu0FG.html


http://img.alicdn.com/bao/uploaded/i3/169840104363675631/TB2kinRdXXXXXbIXXXXXXXXXXXX_!!247586984-0-rate.jpg
http://img.alicdn.com/bao/uploaded/i2/169840104363646898/TB2en_VdXXXXXa8XXXXXXXXXXXX_!!247586984-0-rate.jpg
http://img.alicdn.com/bao/uploaded/i3/169840104363652311/TB20u6TdXXXXXbHXXXXXXXXXXXX_!!247586984-0-rate.jpg
http://img.alicdn.com/bao/uploaded/i3/169840104363636484/TB2EzPPdXXXXXcqXXXXXXXXXXXX_!!247586984-0-rate.jpg
http://img.alicdn.com/bao/uploaded/i4/19676077426198482/TB2kLEIcpXXXXXzXXXXXXXXXXXX_!!2262949676-0-rate.jpg
http://img.alicdn.com/bao/uploaded/i1/19676077641359344/TB2tXcFcpXXXXb.XXXXXXXXXXXX_!!2262949676-0-rate.jpg

В phpmyadmin есть метод импорта "CSV using LOAD DATA" .Попробуйте его.

Работает довольно шустро.

У меня при импорте 1 млн строк (InnodDB) обычный CSV вообще завис,этот отработал за пару секунд.


function custom_posts_per_page($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set('category__not_in', array(106));
}
}

add_action('pre_get_posts', 'custom_posts_per_page');

Blazon, Rxp спалите ,пожалуйста, хостеров.Можно в личку.

Такое ПО не встречал ,специалистов можно найти тут - /ru/forum/webmasters-jobs/programming

mega94:
а как правильно json_decode() использовать

Как-то так:


$ch = curl_init('http://search.taotaosou.com/search/vsearch.do?url=http://img01.taotaosou.cn/size/image14/M0B/03/FD/wKgDvVW59P0IAAAAAADXNs9jcHMAAWypwGlfMgAANdO278_210x210.jpg&type=930&callback=json');
curl_setopt($ch, CURLOPT_USERAGENT, 'IE20');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$page=curl_exec($ch);
curl_close($ch);
$json = substr($page,5,-1);
print_r(json_decode($json,true));
lutskboy:
Здраствуйте
есть сайт с видео
нужно оттуда вытащить прямую ссылку на видео
сайт http://flashservice.xvideos.com/embedframe/5404369

А так не проще?


$url="http://flashservice.xvideos.com/embedframe/5404369";
$replaced_url=str_replace(array("flashservice.xvideos.com","/embedframe/"),
array("www.xvideos.com","/video"),
$url);
$xvideo_page=file_get_contents($replaced_url.'/');
preg_match('#flv_url=(?P<video_url>.*?)\&amp;#',$xvideo_page,$result);
echo urldecode($result["video_url"]).PHP_EOL;

По сути вопроса:

Это какие-то бинарные данные , вот тут вроде решают вопрос на python https://github.com/Zanzibar82/plugin.video.pelisalacarta_ui.pureita/blob/master/servers/xvideos.py ,так же обратите внимание на Content-Type: application/x-amf

Вот например https://jsfiddle.net/n3yezn3n/

ArbitHome:

не соображу как в эту конструкцию переменную воткнуть


$months=1;
$days=5;
$Interval=sprintf("P%dM%dD",$months,$days);
$start_date="2015-11-26";
$start = new \DateTime($start_date);
$start->add(new \DateInterval($Interval));
echo "Через 1 месяц и 5 дней будет: " . $start->format('d/m/Y') . "\n";


$start_date='26/11/2015';
$end_date='26/11/2016';
$months=1;
$months_interval=sprintf("%d month",$months);

$start = \DateTime::createFromFormat('d/m/Y', $start_date);
$end = \DateTime::createFromFormat('d/m/Y', $end_date);
$Interval = \DateInterval::createFromDateString($months_interval);
$Iterator = new \DatePeriod($start, $Interval, $end, \DatePeriod::EXCLUDE_START_DATE);
echo "Все числа с интервалом месяц".PHP_EOL;
foreach ($Iterator as $date) {
echo $date->format('d/m/Y') .PHP_EOL;
}


echo $arResult["PRICETOVAR"]["VALUE"];
Всего: 193