我正在尝试创建一个脚本来从我的网站下载验证码。 我认为代码工作除了那个错误,当我在cmd中运行它时(我使用的是Windows而不是Linux)我收到以下内容:
from bs4 import BeautifulSoup
ImportError: No module named bs4
我尝试使用pip install BeautifulSoup4
但是我在安装时收到语法错误。
这是脚本:
from bs4 import BeautifulSoup
import urllib2
import urllib
url = "https://example.com"
content = urllib2.urlopen(url)
soup = BeautifulSoup(content)
img = soup.find('img',id ='imgCaptcha')
print img
urllib.urlretrieve(urlparse.urljoin(url, img['src']), 'captcha.bmp')
根据这个answer的问题必须归因于我没有激活virtualenv,然后安装BeautifulSoup4。
此外,我不认为这些信息会有任何帮助,但我将我的python文本保存在notepad.py中并使用cmd运行它。
答案 0 :(得分:5)
答案 1 :(得分:1)
我在Windows 8.1(64b)计算机上全新安装了Python 3.5,然后运行:
C:\Users\Me\AppData\Local\Programs\Python\Python35-32\Scripts>pip install b
eautifulsoup4
Collecting beautifulsoup4
Downloading beautifulsoup4-4.4.1-py3-none-any.whl (81kB)
100% |################################| 81kB 890kB/s
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.4.1
然后运行:
C:\Users\Me\AppData\Local\Programs\Python\Python35-32>python test.py
test.py
仅包含:
from bs4 import BeautifulSoup
我没有收到任何错误。
答案 2 :(得分:0)
我在Windows 10上安装了python3.7 32bit和python3.7 64 bit。 对于此应用程序,我正在使用32位版本。 我收到以下错误:
ImportError: No module named bs4
当我尝试从我的app.py中“导入bs4”时。有人说:“请确保您的pip和python都是32位”,但是省略了明确说明的方式,所以这里是:
删除您的虚拟环境(如果存在)。
使用python -m venv venv
创建一个新的venv,但是像这样从您的32位python目录中显式调用它:
C:\ Users \ me \ AppData \ Local \ Programs \ Python \ Python37-32 \ python -m venv my_venv
通过像这样显式调用32位版本来安装要求:
C:\Users\me\AppData\Local\Programs\Python\Python37-32\Scripts\pip install -r requirements.txt
就是这样。我希望它能起作用。
答案 3 :(得分:0)
我可以安装bs4,但仍然收到类似您的错误消息。我的操作系统是64位,只有在安装了“ 32位”版本的最新Python之后才遇到此问题。因此,我删除了32位元代码,然后可以再次导入bs4,并且在安装最新的Python版本64后它仍然可以工作。希望对您有所帮助。