python-NameError全局名称';buf';没有定义
我不知道这个错误是什么意思。非常感谢关于错误或代码其余部分的任何建议python-NameError全局名称';buf';没有定义,python,Python,我不知道这个错误是什么意思。非常感谢关于错误或代码其余部分的任何建议 import urllib import urllib2 import os import re from bs4 import BeautifulSoup def image_scrape(): url = raw_input("Type url for image scrape: ") content = urllib2.urlopen(url).read() soup = BeautifulSou
import urllib
import urllib2
import os
import re
from bs4 import BeautifulSoup
def image_scrape():
url = raw_input("Type url for image scrape: ")
content = urllib2.urlopen(url).read()
soup = BeautifulSoup(content)
name = 0
for tag in soup.find_all(re.compile("img")):
path = 'C:\Users\Sorcerer\Downloads'
name += 1
filename = name
file_path = "%s%s" % (path, filename)
downloaded_image = file(file_path, "wb")
downloaded_image.write(buf)
downloaded_image.close()
image_scrape()
您的代码中有一行:
downloaded_image.write(buf)
Python解释器以前在代码中没有看到这个变量buf
。这就是错误
对代码其余部分的思考:
downloaded_image.write(buf)
- 建议使用
模块来执行您正在使用该行执行的操作:os
像这样:file_path = "%s%s" % (path, filename)
import os path = os.path.normpath('C:\\Users\\Sorcerer\\Downloads') file_path = os.path.join(path, name)
- 看起来您正在尝试查找页面中的所有图像链接,并尝试将其保存到文件系统中
引用的位置。假设指向图像的链接位于变量file\u path
标记中,则执行以下操作:
import requests r = requests.get(tag, stream=True) if r.status_code == 200: with open(name, 'wb') as f: for chunk in r.iter_content(): f.write(chunk) f.close()
normpath
用法