我遇到了无头铬浏览器无法正确创建html文件的问题。唯一创建的内容/文件是单个{} .html文件
我的domains.txt包含:
https://ibm.com/
https://www.linux.org/whats-new/
PS:我正在使用Ubuntu 18.04 64位linux
我使用的命令如下:
cat domains.txt | xargs -I {} -P 4 sh -c timeout 25s chromium-browser --headless --no-sandbox --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' --dump-dom https://{} 2> /dev/null > {}.html
这是从此链接中获取的
编码:
cat domains.txt | xargs -I {} -P 4 sh -c timeout 25s chromium-browser --headless --no-sandbox --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' --dump-dom https://{} 2> /dev/null > {}.html
缺少有关的引号sh -c
。如果引用正确,它还会将sh -c
来自的代码注入脚本中xargs
,这是一个安全漏洞。
管道写得更好
xargs -I {} -P 4 sh -c '
timeout 25s chromium-browser \
--headless --no-sandbox \
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36" \
--dump-dom \
"https://$1" 2>/dev/null >"$1.html"' sh {} <domains.txt
...,但请注意,这仍然会写入称为“东西”的文件,例如,https://ibm.com/.html
如果文件中有这些字符串domains.txt
(即,写入名称怪异的子目录中的文件),并且它将尝试获取诸如“ URL”之类的URL https://https://ibm.com/
。
我认为目的是在domains.txt
文件中仅保留实际的域,而不保留完整的URL ,即
ibm.com
www.linux.org
就个人而言,我宁愿使用来做一个更简单的解决方案curl
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句