dtebrq0245 2015-04-20 00:34
浏览 40

使用PHP从许多(如10,000个)URL中获取元标记

I tried retrieved meta tags of products (like 10,000) from an e-commerce site. The script works sometimes and fails rest of the time. The error I face is

Fatal error: Call to a member function find() on a non-object in ...

Please suggest better way of doing this.

Here is the code I'm using:

 $url = "http://www.amazon.com/dp/".$asin;
    $html = file_get_html( $url );
    $metatags = array();

foreach( $html->find( 'meta[name]' ) as $meta ) {
            $metatags[ 'meta' ][] = array(
            'name' => $meta->name,
            'content' => $meta->content
        );
    }
  • 写回答

1条回答 默认 最新

  • doucheng5705 2015-04-20 00:54
    关注

    As noted by @Dagon is a better approach to use the Amazon API, this link have a good tutorial in this topic

    Any way, to solve the code problem try this:

        $url = "http://www.amazon.com/dp/".$asin;
        $html = file_get_html( $url );
        $metatags = array();
    
        $names = array();
        try{
            $names = $html->find( 'meta[name]' );
        }
        catch(Exception $e)
        {
            error_log("Error: ".$e->getMessage());
        }
    
        foreach( $names as $meta ) {
                $metatags[ 'meta' ][] = array(
                'name' => $meta->name,
                'content' => $meta->content
            );
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行