【问题标题】:Python web scraping, getting a FileNotFound errorPython 网页抓取,得到 FileNotFounderror
【发布时间】:2019-09-01 19:21:25
【问题描述】:

我正在尝试运行以下脚本以从 goodreads.com 获取一些书籍数据,其中仅包含标题列表。我最近有这个代码工作,但现在收到以下错误:

Traceback (most recent call last):

文件“/home/l/gDrive/AudioBookReviews/WebScraping/GoodreadsScraper.py”,第 3 行,在 重新加载(系统) NameError: name 'reload' 未定义

这是代码:https://pastebin.com/Y5NQiVEp

【问题讨论】:

  • 目录/home/l/Downloads/WebScraping不存在,或者程序没有访问权限。

标签: python web-scraping


【解决方案1】:

让我们做一个文件存在检查和访问检查如下:

import os

filePathStr = '/home/l/Downloads/WebScraping/GoodReadsBooksNew.csv'
if os.path.isfile(): 
    if os.access(filePathStr, os.R_OK):
        print("File exists and is readable")
        fileHandle = open(filePathStr, "w+")
    else:
        print("ERROR: File exists and is NOT readable")
else:
    print("Creating output file "+filePathStr)
    fileHandle = open(filePathStr, "w+")

【讨论】:

  • 'w' 如果文件不存在,则创建该文件。这不是问题。
  • 如果目录/home/l/Downloads/WebScraping不存在,这段代码仍然有问题。
【解决方案2】:

因为错误状态 [Errno 2] 没有这样的文件或目录

可能是权限或路径错误。

【讨论】:

    【解决方案3】:

    错误是FileNotFoundError。因此,您的 python 代码无法在您的机器中找到文件。

    检查您在调用open时提供的路径,这是错误消息/home/l/Downloads/WebScraping/GoodReadsBooksNew.csv的这一部分。

    【讨论】:

    • 是的,但该文件 100% 存在
    • 使用pathlib 模块而不是字符串来写入路径。你也可以在你的终端上,转到cd 到带有该 CSV 的目录。然后运行此命令:echo $(pwd)/"GoodReadsBooksNew.csv",它将为您提供该文件的确切完整路径。如果您在 Windows 中,这将不起作用。考虑到你的路径是如何布局的,我认为你不是。
    【解决方案4】:

    您需要确保文件路径存在,并将文件写入该目录下。对函数create_csv_file()进行一些修改。

    import os
    def create_csv_file():
        header = ['Title', 'URL']
        directory = '/home/l/Downloads/WebScraping'
        if not os.path.exists(directory):
            os.makedirs(directory)
        with open(os.path.join(directory,'GoodReadsBooksNew.csv'), 'w') as csv_file:
            wr = csv.writer(csv_file, delimiter=',')
            wr.writerow(header)
    

    【讨论】:

      猜你喜欢
      • 2018-12-13
      • 2021-01-12
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 2023-03-12
      相关资源
      最近更新 更多