【发布时间】:2014-06-28 12:50:21
【问题描述】:
背景:
我使用的是 Mac OSX,10.8.5
python -V说我正在运行 2.7.2pip freeze说我安装了 beautifulsoup4==4.3.2。
根据本教程,我正在尝试使用 Beautiful Soup 4 抓取网页: http://www.pythonforbeginners.com/python-on-the-web/web-scraping-with-beautifulsoup/
我按照工作笔记本电脑上的说明进行操作,一切都按预期进行。所以我已经成功完成了一次。
但这不是一个工作项目,所以我在我的个人笔记本电脑上再次尝试。相同的脚本,但在我的个人笔记本电脑(以及我妻子配置相同的笔记本电脑)上会发生以下情况:
Melissas-MacBook:脚本 Melissa$ ./spider2.py 来自:无法读取 /var/mail/bs4 ./spider2.py:第 3 行:导入:找不到命令 ./spider2.py:第 4 行:导入:找不到命令 ./spider2.py:第 6 行:意外标记 `(' 附近的语法错误 ./spider2.py: 第 6 行: `for i in range(1,10): '这是我的脚本:
from bs4 import BeautifulSoup
import requests
import time
for i in range(1,10):
url = "http://memegenerator.net/Futurama-Fry/images/popular/alltime/page/%d" % (i)
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data)
results = ""
for link in soup.find_all('img'):
print(link.get('alt'))
我尝试通过 pip 卸载,然后使用 easy_install 重新安装。同样,安装似乎工作(根据 pip freeze),但脚本再次抛出相同的错误。
错误确实显示“无法读取 /var/mail/bs4”。为什么它会期望在那里找到 bs4?我用“ls”确认 /var/mail/ 确实是空的。只是变得绝望,我尝试了“sudo find / -atime +1 | grep bs4”,但这并没有显示任何有趣的东西(或者甚至 bs4 的位置,就此而言)。
错误是说python不理解import命令是什么?如果是这样,那将如何发生?导入不是标准的,它是否依赖于某些库?
我错过了什么?我接下来应该看哪里?这是一个简单的答案吗? (通常是,但我只是看不到它。)我是 python 的相对新手,并且渴望但对 bash 还不太了解。我也是第一次发布 stackoverflow 问题,所以提前感谢任何建议/帮助。
【问题讨论】:
-
你为什么要执行
./spider2.py这样的脚本,这样运行——python spider2.py -
当然,你,嗯……需要通过python运行python脚本。这样做了,得到了预期的结果。谢谢你最严厉的。 :)
标签: python import beautifulsoup screen-scraping