[英]Using subprocess to run HTTrack from python in Windows
我正在编写一个Web抓取python脚本的过程中,我希望它能够做的一件事就是让它拍摄某些页面的快照(所有html,样式表和图像以离线正确查看该特定页面)。 似乎HTTrack是执行此操作的好方法,我认为我可以使用以下命令从python脚本中调用它
subprocess.call(["httrack", "http://www.example.com", "-O", "\tmp\example"])
但是,尝试执行此操作将导致“ FileNotFoundError:[WinError 2]系统找不到指定的文件”。 我也尝试给它完整的文件路径,
subprocess.call(["C:\Program Files\WinHTTrack\httrack.exe", "http://www.example.com", "-O", "\tmp\Example"])
但出现错误“ SyntaxError:(unicode错误)'unicodeescape'编解码器无法解码位置2-3中的字节:截断的\\ UXXXXXXXX转义”
我认为这是我无法正确理解subprocess
的问题,因为我可以通过Windows命令提示符使HTTrack工作。 谁能帮助我了解使用子流程的正确方法?
由于eryksun的评论而解决。 subprocess
语法根本不是问题,但是我对转义所有反斜杠并不小心。 将r
放在这些字符串的前面,以使它们成为原始字符串,可以将我的代码固定好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.