で書かれた次の単純な Web スクレーパーがありますScrapy
。
#!/usr/bin/env python
# -*- coding: latin-1 -*-
from scrapy.http import Request
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
class MySpiderTest(BaseSpider):
name = 'MySpiderTest'
allowed_domains = ["boliga.dk"]
start_urls = ["http://www.boliga.dk/bbrinfo/3B71489C-AEA0-44CA-A0B2-7BD909B35618",]
def parse(self, response):
hxs = HtmlXPathSelector(response)
item = bbrItem()
print hxs.select("id('unitControl')/div[2]/table/tbody/tr[td//text()[contains(.,'Antal Badeværelser')]]/td[2]/text()").extract()
しかし、スパイダーを実行すると、次の構文エラーが発生します。
SyntaxError: Non-ASCII character '\xe6' in file... on line 32, but no encoding declared
のためæ
のxpath
。xpath は で機能しXpath Checker
ていFirefox
ます。を URL エンコードしてみましæ
たが、うまくいきませんでした。私は何が欠けていますか?
ありがとう!
更新:コードの先頭にエンコーディング宣言を追加しました (Latin-1 はデンマーク文字をサポートする必要があります)。