Python Error" [errno 2]系统无法找到指定的路径"

时间:2016-07-18 05:56:10

标签: python-2.7

This is the error screenshot我试图在python中编写代码来下载少量数据,代码适用于一个结构但不适用于其他结构,它给我这个我不明白的错误。我已经在sublime text 3上编写代码并在DOS上运行它。使用的Python版本是2.7.11。

from bs4 import BeautifulSoup
import urllib
import re

url= raw_input("http://physics.iitd.ac.in/content/list-faculty-members")

html=urllib.urlopen(url).read()
soup=BeautifulSoup(html)
table = soup.find("table", attrs={"border":"0","width":"100%","cellpadding":"10"})
head=soup.find("h2",attrs={"class":"title  style3"})
ready= table.find_all("tr")
header=head.find("big").find("strong")
datasets=[]
quest=[]
s=[]
test=header.get_text() 
quest.append(test)
for b in ready:

    x=[td.get_text() for td in b.find_all("td")]
    dataset =[strong.get_text() for strong in b.find("td").find("a").find_all("strong")]
    datasets.append(dataset)
    quest.append(x) 
print quest

2 个答案:

答案 0 :(得分:2)

它声明cannot find the file specified: ''这一事实意味着您正在尝试打开空字符串指定的文件!

由于我们没有代码,因此有点难以帮助。您所包含的代码包含的代码不能是生成该屏幕截图的代码,因为屏幕截图会包含显示的提示(raw_input()调用的参数)。

澄清这一点,如果您输入的字符串实际已输入,则没有问题。

呼叫urlopen()将依次呼叫FancyUrlOpener.open(),并且作为UrlOpener的后代,即接收控制权的功能。

该功能将根据给定的方案智能地选择要使用的功能。

它选择文件方案而不是HTTP方式的事实,以及异常抱怨文件是空字符串的事实意味着你传入你认为你是什么。

您看到的错误消息以及堆栈跟踪只有在以下行失败时才会出现(请参阅open_local_file() here):

stats = os.stat(localname)

stat调用仅适用于本地文件,而不适用于网址。

所以你应该集中精力:为什么字符串是空的?

最有可能的理论是,您提供屏幕截图的代码在raw_input提示中有一个不同的网址,这就是我们所看到的内容截图中的提示。

这意味着您只需按下ENTER,或许认为它已将该URL作为默认值提供了帮助。那个ENTER将被视为一个emty字符串,它将解释方案选择和用作文件名的空字符串。

答案 1 :(得分:0)

我已将网址复制到测试中:

client

实际上,url可以正确解析为“http”,但是您的错误消息告诉我们您的url被解析为“file”,因此您需要向我们显示您的真实URL或代码。

我的python版本是2.7.5。