采集文章页


下面以采集CnBate网站的文章页为例,示范如何采集文章页的:标题、发布日期和正文内容。

采集前分析选择器

待采集的目标页面地址:https://www.cnbeta.com/articles/tech/779841.htm ,采集之前需要在浏览器中使用开发者工具来分析要采集的元素的CSS选择器

采集文章页 - 图1

示例代码

采集代码:

  1. <?php
  2. require 'vendor/autoload.php';
  3. use QL\QueryList;
  4. // 待采集的页面地址
  5. $url = 'https://www.cnbeta.com/articles/tech/779841.htm';
  6. // 采集规则
  7. $rules = [
  8. // 文章标题
  9. 'title' => ['.title>h1','text'],
  10. // 发布日期
  11. 'date' => ['.meta>span:eq(0)','text'],
  12. // 文章内容
  13. 'content' => ['#artibody','html']
  14. ];
  15. $data = QueryList::Query($url,$rules)->data;
  16. print_r($data);

采集结果:

  1. Array
  2. (Array
  3. (
  4. [0] => Array
  5. (
  6. [title] => GitHub意外宕机 已确认数据存储系统存在问题
  7. [date] => 20181022 14:42
  8. [content] => <p style="text-align: center;"><img src="https://static.cnbetacdn.com/article/2018/1022/82e649adfde2e98.png" alt="github-down-due-to-data-storage-system-issue-523345-2.png"></p>
  9. <p>发稿前,GitHub 已经排除了部分故障。目前似乎只有某些特定地区受到了影响,但欧洲等部分地区仍未完全恢复。</p>
  10. <blockquote>
  11. <p>GitHub 团队表示,数据存储系统是导致本次故障的罪魁祸首。为尽快恢复服务,他们正在努力修复。</p>
  12. <p>过去的几个小时,所有工作都集中在这方面。在此期间,部分用户可能看到不一致的结果。</p>
  13. </blockquote>
  14. <p>今年早些时候,<a data-link="1" href="https://afflnk.microsoft.com/c/1251234/439031/7808" target="_blank">微软</a>宣布以 75 亿美元收购 GitHub 。近日,欧盟委员会认定微软接管 GitHub 不违背反竞争原则,并准予放行。</p>
  15. <p>[编译自:<a href="https://news.softpedia.com/news/github-down-due-to-data-storage-system-issue-523345.shtml" target="_self">Softpedia</a>]</p>
  16. )
  17. )