跳到主要内容

约定

目录结构

  • app/Console/Commands
    • Spider.php // 爬虫主程序
    • Post.php // 远程发布
    • Helpers
      • common.php // 公用辅助函数
    • Traits
      • 从 Spider.php 水平抽离出来的一些方法
  • config/spider.php // 全局配置,比如全局超时时间等
  • config/sites/* // 存放需要爬取的网站信息
  • config/user_agents.php // User-Agent 池,用来随机

页面

爬取目标站时,一般都是列表页和内容页

  • 列表页: 具有分页
  • 内容页: 列表页中的子项,点击链接进去的页面

有些网站会多一个页面,比如它有一个网站地图,里面有 100 多个标签,比如软件下载站,它提供的地图标签是「音乐」、「视频剪辑」、「杀毒」等,然后点击进去才是一个列表。

上面的情况,我们就需要再收集到地图页面的链接,然后填入列表页的 urls 中。

标签名

标题:

正文:

封面:列表页的缩略图

环境

  • 当没有存在 .env 文件时,视为正式环境。
  • 存在时,根据指定的值。

调试

当存在 .env 时,且 APP_ENV 为 local 时,则默认开启调试。

调试模式

调试模式下

  1. 不上传文章。如果要发送,应当指定 --post 选项。
  2. 可以指定调试等级
    1. --v。只显示关键信息。
    2. --vv。在 --v 基础上,多显示了文章、图片等数量。
    3. --vvv。在 --vv 基础上,把目前能显示的都显示出来。