使用Python库时出现问题-Pyotodom
我想用这个库从otodom中提取数据。我已经阅读了文档,但是我还停留在一个非常基本的层面上,试图进行基本的导入。我使用的代码直接取自文档。除此之外,我还尝试从Github启动example.py,但我遇到了同样的错误 下面是代码的摘录:使用Python库时出现问题-Pyotodom,python,python-3.x,web-scraping,Python,Python 3.x,Web Scraping,我想用这个库从otodom中提取数据。我已经阅读了文档,但是我还停留在一个非常基本的层面上,试图进行基本的导入。我使用的代码直接取自文档。除此之外,我还尝试从Github启动example.py,但我遇到了同样的错误 下面是代码的摘录: import otodom, os, logging from otodom.category import get_category from otodom.offer import get_offer_information 我收到的错误消息: 回溯(最近
import otodom, os, logging
from otodom.category import get_category
from otodom.offer import get_offer_information
我收到的错误消息:
回溯(最近一次呼叫最后一次):
文件“\otodom\u import.py”,第2行,在
从otodom.category导入获取\u category
文件“C:\Users\Dom\Anaconda3\lib\site packages\otodom\category.py”,第9行,在
从otodom.utils导入获取url的响应,获取url
文件“C:\Users\Dom\Anaconda3\lib\site packages\otodom\utils.py”,第14行,在
从scraser\u helpers.utils导入缓存,规范化\u文本,键\u sha1,
获取\u随机\u用户\u代理
文件“C:\Users\Dom\Anaconda3\lib\site packages\scraser\u helpers\utils.py”,
第22行,在
MAX\u FILENAME\u LENGTH=subprocess.check\u输出(“getconf NAME\u MAX/”,
shell=True)。strip()
文件“C:\Users\Dom\Anaconda3\lib\subprocess.py”,第336行,在check\u输出中
**kwargs)stdout
文件“C:\Users\Dom\Anaconda3\lib\subprocess.py”,第418行,正在运行
输出=标准输出,标准输出=标准输出)
subprocess.CalledProcessError:命令“getconf NAME_MAX/”返回非零
退出状态1
提前谢谢
编辑:我不明白反对票,我意识到这是一个利基模块,但我做了我的家庭作业。我已经阅读了文档,并试图在其他地方寻求帮助。如果有机会,作为一个noobie,我会找到至少一个人可以帮助我,我为什么不利用这个机会呢?即使是模块有缺陷的信息也会有所帮助 依赖项模块试图调用的,是一个POSIX命令,在Windows上不可用
您可以在C:\Users\Dom\Anaconda3\lib\site packages\scraser\u helpers\utils.py中找到它,并将第22行替换为:
MAX_FILENAME_LENGTH = 255
但问题是,如果模块显然希望在POSIX兼容系统上运行,那么可能会出现什么其他错误?例如,它将尝试使用/var/tmp/scraster helpers/
作为其在Windows上也不可用的临时缓存路径(但Python会将其解释为:\var\tmp\scraster helpers
,并尝试创建它)
或者,查看其代码,您可能只需声明以下环境变量即可:
set MAX_FILENAME_LENGTH=255
set CACHE_DIR=%TEMP%\scapper-helpers\
好的,既然我是一个初学者,现在看来修复它是我力所能及的。改变操作系统会有帮助吗?我应该用哪一个来代替Windows?@PiotrMenclewicz-相当容易,但是如果你不想处理这个问题,Linux是兼容POSIX的,所以选择你喜欢的发行版。MacOS X也是兼容POSIX的。