[英]python - NameError global name 'buf' is not defined
我不知道這個錯誤是什么意思。 非常感謝您提供有關錯誤或代碼其余部分的任何建議。
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
。 因此,錯誤。
關於其余代碼的想法:
建議使用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_path
引用的位置的文件系統中。 假設到圖像的鏈接在變量tag
,這是您要做的:
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.