php 食材爬取

<?php

$site_page_url = "http://shop.bytravel.cn/";

$site_page_content = file_get_contents($site_page_url);

echo $site_page_content."\n";

preg_match_all("/\"?\/produce\/index.*?\.html/", $site_page_content, $match);

print_r($match);

if (!empty($match[0]) && is_array($match[0])){
    $prefix_url = 'http://shop.bytravel.cn/';
    $all = [];
    $len = count($match[0]);
    echo "总共有 {$len} 条记录";
    foreach ($match[0] as $i => $url){
        $item = getFoodContent($i + 1, $prefix_url. trim($url, "\""));
        if ($item){
            $all[] = $item;
        }
    }
    $text = "";
    foreach ($all as $item){
        $str_list = explode(",", $item, 2);
        if (count($str_list) == 2){
            $text .= $str_list[0] ."\t". $str_list[1]. "\n";
        }
    }
    file_put_contents("food.txt", $text);
}

function getFoodContent($i, $url){
    $opts = array(
        'http'=>array(
            'method'=>"GET",
            'timeout'=> 4,//单位秒
        )
    );
    $food_page_content = file_get_contents($url, null, stream_context_create($opts));
    preg_match("/\"description\" content=\"(.*)?\"/", $food_page_content, $child_match);

    echo "完成第 $i 条记录:  $url\n";

    return empty($child_match[1]) ? null: $child_match[1];
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值