帮助主题
全部帮助主题

Crawler

Crawler”抓取站点的页面,并取走在上面找到的文件。本页介绍它认得的站点、它在其他任何站点上读得懂的页面种类、它可以走到哪里和保留什么、何时使用浏览器、怎样对待站点,以及运行前您先查看的页面。

它认得的站点

Crawler 为少数几个站点准备了配方:配方说明站点把文件放在哪里,以及怎样逐页翻看。在这些站点上,向导会选中 Crawler,也不会询问页面的种类。

站点 Crawler 在那里取什么
500px 摄影师、信息流(例如热门照片)、图库、照片故事或单张照片;长边不超过 2048 像素
Bing 图片 图片搜索结果
Flickr 照片流、相册、收藏、群组照片池、标签、Explore、单张照片或搜索;只有作者允许下载时才取原图,否则取现有的最大尺寸
Google 图片 图片搜索结果
IMDb 影片、人物或图库
Reddit 子版块或帖子

Bing 图片和 Google 图片通过浏览器读取。在 Google 图片上运行之前,搜索页面会先打开供您查看,参见运行前您先查看的页面

对于 IMDb,向导会询问“下载图片”和“下载视频”;IMDb 最多只提供 100 个视频。向导还会显示“IMDb 对其数据的使用规定了条件。”只有勾选“我已阅读”后,才能创建项目。

对于 Reddit,向导会显示已经填好的“Reddit 应用 id”。Reddit 只响应已注册的应用;如果碰到它的限制,就在 reddit.com/prefs/apps 注册一个您自己的应用,类型选 installed app,然后把它的 id 填入“Reddit 应用 id”。

其他任何页面

在它不认得的站点上,Crawler 的卡片上写着“在任何页面上都能用,但对这个站点没有专门的了解”。选择 Crawler 后,向导会询问“文件从哪里来?”任何选项都不会预先选中:页面是什么,只有您知道。

选项 含义
只要这一个页面 您给出的地址上链接的文件,不再往下走
图库或相册 一个带着一组图片的页面
论坛主题 一个主题,连同帖子里的附件和图片
整个站点,或者它的一部分 默认只包括您给出的地址和它下面的内容

接着,“文件种类”会询问要“下载”什么:“图片”(默认勾选)、“视频”、“音频”、“文档”和“压缩包”。如果一个文件的种类从它的地址和站点的响应中都看不出来,它照样会被取走。

除了下面要讲的“这次可以走到哪里?”,向导不再询问别的;每个选项的其余设置都在项目的“站点设置”中。

它可以走到哪里

对于“整个站点,或者它的一部分”,向导还会询问“这次可以走到哪里?”它按从窄到宽的顺序列出范围,您选中的那一行的模式覆盖什么,任务就包括什么。对于 https://example.com/gallery/7/,这几行是 example.com/gallery/7/*example.com/gallery/*example.com/**.example.com/*(整个站点连同它的子域名)。

项目“站点设置”中的“地址”包含其余的设置:

  • 附加地址 - 每行一个地址模式,例如 site.com/gallery/*。与它们匹配的链接也属于这次任务;在向导中选中的那一行作为第一行保存在这里。
  • 例外 - 抓取不会进入的地址的模式,不管它是怎样被引向这些地址的。它们优先于上面的地址。
  • 距起点的步数 - 抓取从地址出发最远能走多远:每跟进一个链接算一步,默认 3 步,最多 20 步。翻到同一个列表的另一页不算步数,取文件也不算。
  • 外部链接 - 通向任务之外的链接:“忽略它们”、“只从它们那里取文件”(默认)或“跟进页面并取走文件”。
  • 允许的外部地址 - 抓取可以走出去的地方;默认的 * 表示任何地方。
  • 哪些地址是文件 - 每行一条规则,例如 site.com/get-image/* = pictures,适用于返回图片的脚本,或者没有扩展名的下载链接。
  • 跟进规则 - 您自己为链接设定的条件,形式为“满足以下条件时不去”或“只在满足以下条件时去”。

文件夹”中的“保留站点自己的文件夹”会按站点的方式存放所有文件:先是主机名,再是地址中的各级文件夹。它默认关闭,所有文件都放在一起。

它保留什么

项目“站点设置”中的“筛选”:

  • 最小大小”和“最大大小”,以字节为单位;0 表示不限制。站点没有说明大小的文件照样会被取走。对于“论坛主题”,最小大小的初始值是 20480 字节:在帖子里,头像、表情和等级徽章也都是普通图片。
  • 最小宽度”和“最小高度”,以像素为单位。图片的尺寸记录在文件内部,所以要在取回之后才能判断:不符合的图片会被删除,日志里会写明。
  • 保留规则 - 您自己为文件设定的条件,形式为“满足以下条件时不要”。

对于“只要这一个页面”,“筛选”中还有“哪些地址是文件”:从这个页面出发不会跟进任何链接,所以只能从站点的响应中看出种类的地址,根本不会被请求。

对于“图库或相册”,“翻页”中有“同一个列表的页数”:同一个列表要抓取多少页。默认值 0 表示全部,适合相册,却不适合没有尽头的信息流。

它何时使用浏览器

有些站点用脚本生成页面,没有浏览器,页面上就什么也找不到。项目“站点设置”的“浏览器”中,“使用浏览器”可以是“自动决定”、“”或“”。由 Crawler 自己决定时,它会用两种方式分别读取每个站点的第一页,保留找到更多内容的那一种;日志会写明选了哪一种,并给出两边的数字。浏览器要慢几十倍。

页面上什么也没找到时,日志会写“… 上什么都没找到,这个页面可能需要浏览器”。

礼貌

项目“插件设置”中的“礼貌”决定 Crawler 怎样对待站点:

  • 两次请求之间的秒数 - 一次运行中任意两次请求之间的停顿,不论请求发往哪些站点,默认 1 秒,最多 60 秒。停顿越短,站点就越可能开始拒绝请求,或者把您拒之门外;设为 0 是让您的 IP 地址被封的最快办法。参见运行保持的节奏
  • 保留页面 - 保存读取过的每个页面,这样配方编辑器就能在这些页面上重复一次运行,而不必再访问站点。默认开启。
  • 使用配方 - 在 Crawler 认得的站点上,按该站点的配方进行。关闭后,就按普通方式抓取站点。默认开启。
  • 识别图床 - 把指向图床的链接当作一张图片来读,只是前面多隔了一跳。如果某个图床改了页面,取回来的是广告而不是图片,就值得把它关掉。默认开启。

Crawler 同时取两个文件,这是所有站点合起来的数目。站点要求放慢时,Crawler 就会放慢,日志会写“… 要求我们放慢,已经减速。秒数: …”。

运行前您先查看的页面

有些站点需要您先手动做点事:登录、通过检查,或者缩小搜索范围。同样位于“礼貌”中的“运行前先显示页面”决定起始页面何时打开:

  • 从不 - 运行立即开始。
  • 站点需要时 - 默认值。在配方注明需要您参与的站点上打开页面,例如 Google 图片。
  • 总是 - 项目的每个地址都会打开页面;对于模式,只在它的第一个地址打开一次。

页面会在名为“下载开始前请确认”的窗口中打开并等待。完成站点要求的操作,然后点击“继续”:运行会从您最后停留的页面开始,所以在搜索页面上,您输入的查询和设置的筛选条件都会保留。“取消”则让运行在开始之前就停下。

在向导的最后一步勾选“这个站点要我先登录”,就会设为“总是”。

修复解析器

在 NeoDownloader 窗口里,项目的“属性”标签页上有一张卡片,提供“修复解析器”:它会针对项目最近一次运行打开配方编辑器,定位到开始一无所获的那一步。编辑器还处于实验阶段。打开之前,NeoDownloader 会提醒“配方编辑器还没有做完”,并说明编辑器不一定能修好这次运行。