目錄
import win32 api- Import Error DLL load failed-%1 不是有效的 Win32 應用程序
ImportError No module named '_cffi_backend'
KeyError 'Spider not found ItcastItem'
write() argument must be str, not bytes
import win32 api- Import Error DLL load failed-%1 不是有效的 Win32 應用程序
系統位數問題,之前安裝的是64位 win32 api。
安裝32位win32 api即可。
ImportError No module named '_cffi_backend'
Cffi中由文件會被360認爲是病毒而刪掉。
方案
pip3 uninstall cffi
pip3 install cffi
然後在360彈窗說由病毒時找回文件,或者關掉360。
KeyError 'Spider not found ItcastItem'
Cmd執行
scrapy crawl ItcastItem
報錯
KeyError: 'Spider not found: ItcastItem'
環境
Spider所在文件的文件名:ItcastItem
Spider的name:itcast
注意:scrapy crawl後面跟的是spider的name,而不是文件名。
No module named 'win32api'
原因是缺少win32,到 http://sourceforge.net/projects/pywin32/files/
找到對應的版本進行下載,直接安裝即可
Python是沒有自帶訪問windows系統API的庫的,需要下載。庫的名稱叫pywin32,可以從網上直接下載。
以下鏈接地址可以下載:https://github.com/mhammond/pywin32/releases (下載適合你的Python版本)
運行以下代碼如果出現ImportError: No module named win32api 或者出現 ImportError: No module named win32con,說明你的庫沒有安裝好。
介紹這個庫裏面最重要的兩個模塊:win32api和win32con。win32api顧名思義,就是用python對win32的本地api進行了封裝;win32con個人理解爲win32constant,即win32的常量定義。
有了以上這兩個模塊我們就可以來一個win32版本的Python Helloworld了。
- 1. import win32api
- 2. import win32con
- 3. win32api.MessageBox(win32con.NULL, 'Python 你好!', '你好', win32con.MB_OK)
運行一下,看到消息框。
write() argument must be str, not bytes
ERROR: Spider error processing <GET http://www.itcast.cn/channel/teacher.shtml> (referer: None)
Traceback (most recent call last):
File "c:\users\cyang\appdata\local\programs\python\python37-32\lib\site-packages\twisted\internet\defer.py", line 654, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "D:\workspace\mySpider\mySpider\spiders\itcast.py", line 10, in parse
open(filename, 'w').write(response.body)
TypeError: write() argument must be str, not bytes
寫文件時要用字符串,但從網頁爬取的數據是字節,所以要把
open(filename, 'w').write(response.body)
改爲
open(filename, 'wb').write(response.body)
即用字節的形式打開文件。
設置cl環境變量
前提:安裝了Visual Studio C++相關的組件。
1. 在環境變量中Path 那一項中添加兩個路徑:E:\VS2017\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86
E:\VS2017\Common7\IDE
2. 在環境變量中新建一個LIB 變量,並添加三個路徑(記得加分號):
E:\VS2017\VC\Tools\MSVC\14.10.25017\lib\x86; C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x86;
3. 在環境變量中新建一個INCLUDE 變量,並添加兩個路徑(記得加分號):
E:\VS2017\VC\Tools\MSVC\14.10.25017\include; C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt;
4. 在E:\VS2017\VC\Auxiliary\Build 這個路徑中點擊vcvarall.bat 這個批處理程序。之後打開命令行,輸入cl,如果出現下圖,則配置成功……
實際路徑根據自己的安裝路徑有所不同。