PHP巧用QueryList大大简化采集程序 / PHP巧用QueryList大大简化采集程序

QueryList官网地址:http://www.querylist.cc/

QueryList 是什么
QueryList是一套用于内容采集的PHP工具,它使用更加现代化的开发思想,语法简洁、优雅,可扩展性强。相比传统的使用晦涩的正则表达式来做采集,QueryList使用了更加强大而优雅的CSS选择器来做采集,大大降低了PHP做采集的门槛,同时也让采集代码易读易维护,让你从此告别晦涩难懂且不易维护的正则表达式?。

QueryList 提供的一整套内容采集解决方案
DOM内容选择:CSS选择器
HTTP客户端:GuzzleHTTP
内容过滤:CSS选择器
解决乱码:内置多套乱码解决方案
额外功能:丰富的扩展插件

示例代码
先来感受一下使用 QueryList 来做采集是什么样子。

$data = QueryList::get('https://www.baidu.com/s?wd=QueryList')
      // 设置采集规则
      ->rules([ 
          'title'=>array('h3','text'),
          'link'=>array('h3>a','href')
      ])
      ->queryData();

  print_r($data);

返回结果:

Array
  (
    [0] => Array
        (
            [title] => QueryList|基于phpQuery的无比强大的PHP采集工具
            [link] => http://www.baidu.com/link?url=GU_YbDT2IHk4ns1tjG2I8_vjmH0SCJEAPuuZN
        )
    [1] => Array
        (
            [title] => PHP 用QueryList抓取网页内容 - wb145230 - 博客园
            [link] => http://www.baidu.com/link?url=zn0DXBnrvIF2ibRVW34KcRVFG1_bCdZvqvwIhUqiXaS
        )
    [2] => Array
        (
            [title] => 介绍- QueryList指导文档
            [link] => http://www.baidu.com/link?url=pSypvMovqS4v2sWeQo5fDBJ4EoYhXYi0Lxx
        )
        //...
  )

分别采集百度搜索结果列表的标题和链接

$ql = QueryList::get('https://www.baidu.com/s?wd=QueryList');
$titles = $ql->find('h3>a')->texts(); //获取搜索结果标题列表
$links = $ql->find('h3>a')->attrs('href'); //获取搜索结果链接列表
print_r($titles);
print_r($links);

返回结果:

Array
(
    [0] => QueryList|简洁、优雅的PHP采集工具
    [1] => phpQuery选择器 - QueryList 4.0 指导文档
    [2] => php写爬虫进行采集 QueryList的使用 - CSDN博客
    [3] => QueryList采集在线测试
    [4] => 介绍- QueryList 4.0 指导文档
    [5] => QueryList交流社区|基于phpQuery的无比强大的采集工具
    [6] => 介绍- QueryList 3.0 指导文档
    [7] => thinkphp5使用QueryList实现采集功能 - 坚持一点点 - 博客园
    [8] => QueryList一个基于phpQuery的无比强大的采集工具 - ThinkPHP框架
    [9] => php使用QueryList轻松采集JavaScript动态渲染页面 - QueryList - ...
)
Array
(
    [0] => http://www.baidu.com/link?url=CNKBNz0t9t6YLmIfXjKYnIkcQ-JzNOpAyiAHPDSnlkmrEqMq5q9o44ElplTf7nON
    [1] => http://www.baidu.com/link?url=VKDqdL3WXxuy0xV3uHMDXRrqQlWGhh4qMQ5h4UCBw0sRJvE9uLlMbr5fE_gsURX8oehsAyzi9_QxVuC1CBjoTa
    [2] => http://www.baidu.com/link?url=rjDcaEbicrZjIG-iFJdkHJTWxoxYA2EBatxh-EyvMDdPMPxtOi8nDUi7UiuIgmW9X7o6CvcFUqPqCrqJp7M4FmRKpJ52-ceBowE0ek_jb5O
    [3] => http://www.baidu.com/link?url=9FAlKAB_4xCVP1hv_RlpPN8ROxsTSTDHpnvvxYn4j_veTkhxHfaPHUFAtc8BctDmN9ZVigMS7ggaVy778zAMzK
    [4] => http://www.baidu.com/link?url=CFOkrOHOFsWPddZC1fuRv8ZqwhbF7P6vH1Pg1covRawG6wsmszFW1qnxHf7mWKPM
    [5] => http://www.baidu.com/link?url=7kCwV_WRMZjWAeyOWP3zfX4Jx21tPeZhmyuENciN86BBd_g8znMD3JgEEfvGRbNc
    [6] => http://www.baidu.com/link?url=p3JenyGg7qtP7lSKXkbLM8_eGTzxzjJGch7__-8fmuIsZOdEQbCquS6P_NdR4LoG
    [7] => http://www.baidu.com/link?url=_EJBv9sxVtGT1paHERifcDHEaG8twDHk-Av2JD5DlkJUvipLAdNqovTdXAxijcI3LTaC3F_jYuMkHuTOJ0ic7_
    [8] => http://www.baidu.com/link?url=ad9pwRrrkyTVOB7ZMKN29XyLX1MsXRIFPbA0ldPLTQQ58Dnw_YpZFKJZwxZ-jfaL
    [9] => http://www.baidu.com/link?url=mEjYM95SeHFYCnfITubUoTOj7XWR1NparEcb3hCGqPGv_uChSvVFat6xcvyCz_9mLogw5ol5gU_isHqYRTJj2q
)

随着互联网技术的不断发展,生鲜O2O方案已经成为了当前生鲜行业的一种趋势。生鲜O2O方案指的是通过互联网技术将生产和销售环节有机结合起来,以实现线上和线下的有机融合,提高生鲜产品的销售和消费体验。

在传统的生鲜销售中,生产厂商和销售商之间存在着很多中间环节,这些环节不仅增加了生产和销售的成本,也降低了消费者的购物体验。而生鲜O2O方案则能够打通产销链条,直接与消费者进行联系,使生产和销售环节更加紧密地结合起来。

生鲜O2O方案最大的优势在于它能够提供更加高效、便捷的消费体验。通过在线下门店选购商品,然后线上下单支付,最后由门店进行配送,消费者可以更加轻松地完成购物。而生产厂商也可以通过O2O平台直接和消费者进行沟通和交流,了解消费者的需求和反馈,及时调整生产计划和商品种类。

同时,生鲜O2O方案还能够提高生鲜产品的品质和安全性。通过O2O平台,生产厂商可以更加及时地将新鲜的产品送达消费者手中,确保产品的新鲜程度和品质。消费者也可以通过平台了解产品的来源、生产过程和质量检测等信息,更加放心地购买和消费。

尽管生鲜O2O方案有很多优势,但在实践中还存在一些问题和挑战。例如,如何确保产品的配送速度和质量,如何保证消费者的信息安全和隐私等等。这些问题需要生鲜行业和O2O平台共同努力解决,提高消费者的信任和满意度。

总的来说,生鲜O2O方案是当前生鲜行业的一种趋势,通过打通产销链条,提高消费者体验,提高产品品质和安全性,为生鲜行业的可持续发展提供了有力的支持。但同时,生鲜行业和O2O平台也需要共同努力解决一些问题和挑战,为消费者提供更加优质的服务和体验。