scrapy runspider qxkp_spider.py -o store/first_hrefs.json 上面命令如何每次生成新的文件
时间: 2024-02-22 16:56:35 浏览: 55
你可以在命令中使用一个时间戳来生成新的文件名,例如:
```
scrapy runspider qxkp_spider.py -o store/first_hrefs_$(date +%Y%m%d_%H%M%S).json
```
这将生成一个类似于 `store/first_hrefs_20210811_153045.json` 的文件名,其中时间戳表示当前日期和时间。每次运行命令时,将生成一个新的文件名。
相关问题
subprocess.CalledProcessError: Command 'scrapy crawl stock_spider' returned non-zero exit status 2.
`subprocess.CalledProcessError` 是一个异常类,当使用 `subprocess` 模块调用外部命令时,如果命令执行失败(返回非零退出状态),则会抛出这个异常。在这个例子中,命令是 `'scrapy crawl stock_spider'`,表示运行名为 `stock_spider` 的 Scrapy 爬虫。
退出状态 2 通常表示命令执行过程中遇到了错误。为了解决这个问题,你可以查看 Scrapy 输出的错误信息,了解具体的错误原因。你可以在运行命令时添加 `-s LOG_FILE` 参数,将 Scrapy 的日志输出到指定的文件,例如:
```python
import subprocess
with open("scrapy.log", "w") as log_file:
subprocess.call(["scrapy", "crawl", "stock_spider"], stdout=log_file, stderr=log_file)
```
这样,你可以查看 `scrapy.log` 文件,了解具体的错误原因并进行相应的修复。
ERROR: test_pt_common_predict (__main__.TestCommonExecutor) ---------------------------------------------------------------------- Traceback (most recent call last): File "d_warehouse/vot/z_test/z_model/cv/pt_common.py", line 54, in test_pt_common_predict Mnist(self.data_dir, man="gcgS467j").b("0001").run() File "/django_scrapy/d_warehouse/vot/base/base.py", line 357, in run return self.do_run() File "/django_scrapy/d_warehouse/vot/data/dataset/cv/mnist.py", line 34, in do_run train_df = self.sqlc.createDataFrame(train_data_list) File "/usr/local/lib/python3.8/dist-packages/pyspark/sql/context.py", line 473, in createDataFrame return self.sparkSession.createDataFrame( # type: ignore[call-overload] File "/usr/local/lib/python3.8/dist-packages/pyspark/sql/session.py", line 1222, in createDataFrame self._jvm.SparkSession.setActiveSession(self._jsparkSession) File "/usr/local/lib/python3.8/dist-packages/py4j/java_gateway.py", line 1712, in __getattr__ answer = self._gateway_client.send_command( File "/usr/local/lib/python3.8/dist-packages/py4j/java_gateway.py", line 1036, in send_command connection = self._get_connection() File "/usr/local/lib/python3.8/dist-packages/py4j/clientserver.py", line 284, in _get_connection connection = self._create_new_connection() File "/usr/local/lib/python3.8/dist-packages/py4j/clientserver.py", line 291, in _create_new_connection connection.connect_to_java_server() File "/usr/local/lib/python3.8/dist-packages/py4j/clientserver.py", line 438, in connect_to_java_server self.socket.connect((self.java_address, self.java_port)) ConnectionRefusedError: [Errno 111] Connection refused
这个错误表明你的代码尝试连接到一个 Java 服务器,但连接被拒绝了。可能有几个原因导致这个问题:
1. Java 服务器没有正确启动或正在运行。请确保你的 Java 服务器正在运行,并且监听的端口没有被其他进程占用。
2. 防火墙或网络配置问题。防火墙或网络配置可能会阻止你的代码与 Java 服务器建立连接。请检查防火墙设置并确保网络配置正确。
3. IP 地址或端口号错误。请确保你提供给代码的 Java 服务器的 IP 地址和端口号是正确的。
请仔细检查上述原因,并根据实际情况进行相应的调整。如果问题仍然存在,请提供更多的代码和错误上下文,以便进一步帮助你解决问题。