私はPythonには全く新しく、私はScrapyを使用しようとしているWebスクレイピングに関する夏季の実践的なプロジェクトをやっています。これまで私はhttp://doc.scrapy.org/en/1.1/intro/tutorial.htmlを使用していましたが、チュートリアルのスパイダーが意図したとおりに動作しないため、私は即興しなければなりませんでした。私は、チュートリアルのコードをコピーして、このエラーが生じ、それに即興しようとしたOSはwin7のScrapy NameError:名前 'filename'が定義されていません
です:
File ..\spiders\dmoz_spider.py", line 16 in DmozSpider with open(filename, 'wb') as f: NameError: name 'filename' is not defined
コードは次のとおりです。
import scrapy
class DmozSpider(scrapy.Spider):
name = "turo"
allowed_domains = ["turotarjoo.com"]
start_urls = [
"http://turotarjoo.com/siipiravintola/",
"http://turotarjoo.com/info/"
]
def parse(self, response):
filename = None
filename = response.url.split("/")[-1] + '.html'
with open(filename, 'wb') as f:
f.write(response.body)
私の場合はあなたの助けと申し訳ありませんありがとう最初の質問は読みにくいです。 PythonプログラマーやWebスクレイピングを開始するためのヒントがあれば教えてください。
このコードからエラーが発生していないことは間違いありません。 –
あなたのインデントは、あなたの実際のコードに合っているか、一貫していますか? 'parse'は(' self'の使用のために) 'DmozSpider'のメソッドであるように見えましたが、書かれているように、あなたはモジュールレベルの関数を持っています。また、空白とタブを混ぜていないことを確認する必要があります( 'python -tt script.py') – mgilson
モジュールレベルであれば' self'について文句を言います。 – TigerhawkT3