HTTrack CLI模式下强力抓取网站的选项
大家好,我是无能。
在使用HTTrack抓取网站时,由于这个软件本身是2000年前后的产物,可能存在那个时代的某些限制,因此我将那些容易变得很长的命令写在了shell脚本中,并在此记录下来。
特别是,在日本的文章中,关于HTTrack的几乎都是Windows GUI版本,关于CLI操作的信息很少,所以特此记录。
#!/bin/bash
httrack\
'https://example.com'\
'+*/*.pdf'\
--sockets=59\
--robots=0\
--user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'\
-O '/media/your/outdir/'\
--can-go-up-and-down\
--keep-alive\
--mirror\
--depth=999999999\
-%P\
--retries=999999\
--ext-depth=0\
--timeout=9999\
-T1000000\
−−max−rate=0\
--disable-security-limits
下面我将解释一些重要的选项。
max−rate=0
如果将上限值设置为 --max-rate=999999 等,似乎会启用标准的速度限制,并且无法正确识别,因此将其设置为0似乎可以解除速度限制。
disable-security-limits
这个选项似乎需要与上述选项配合使用,但我不知道哪个是必需的,所以两个都加上了。
顺便说一下,这个选项本身在官方文档中没有提及,所以它可能是一个开发者选项。
ext-depth=0
这是最大深度设置,但如果设置为0,似乎可以几乎无限地抓取。
顺便说一下,在这种情况下,在设置ext-depth=0之后,再加入--depth=999999999,似乎可以识别并抓取到999999999层,而仅仅设置ext-depth=0可能无法实现。
另外,如果未设置为0,则会输出如下错误:
nohup.out:PANIC! : Too many URLs : >99999 [3031]
这可能意味着这个选项对于一个自2000年以来就存在的软件来说,执行了意料之外的操作。
以上就是三个重要的选项。
至于其他选项,请查阅官方文档。
https://www.httrack.com/html/fcguide.html
那么。
下次再见。