Scrapy を使用して html ページを解析し、ページから特定の値を取得しています。商品の価格の値を取得しようとしているコードの最後の最後の部分に行き詰まっているようです。私が見ている特定のページはhttp://www.rogerssportinggoods.com/decoys-duck-decoys-c-16_71.htmlです。これは、119.99 ドルの価格を含む、私が取り組んでいるセクションです。
<td align="center" class="productListing-data" width="25%">
<a href="http://www.rogerssportinggoods.com/dakota-decoys-dakota-decoy-full-body
-mallard-decoys-6pack-p-3036.html"><img src="images/DAK-12160-125.png" border="0"
alt="Dakota Decoy Full Body Mallard Decoys, 6-Pack" title=" Dakota Decoy Full
Body Mallard Decoys, 6-Pack "></a> <br> <a href="http://www.rogerssport
inggoods.com/dakota-decoys-dakota-decoy-full-body-mallard-decoys-6pack-p-3036.html
">Dakota Decoy Full Body Mallard Decoys, 6-Pack</a> <br> DAK-12160
<br> <a href="http://www.rogerssportinggoods.com/dakota-decoys-m-200.html">
Dakota Decoys</a> <br> $119.99 <br>
<a href="http://www.rogerssportinggoods.com/-s-.html"></a> </td>
以下は、このプロジェクトで現在使用しているコードです。
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.selector import HtmlXPathSelector
from test_scraper.items import TestScraperItem
class MySpider(CrawlSpider):
name = "test"
allowed_domains = ["rogerssportinggoods.com"]
start_urls = ["http://www.rogerssportinggoods.com/decoys-duck-decoys-c-16_71.html"]
def parse(self, response):
hxs = HtmlXPathSelector(response)
titles = hxs.select("//html/body/div/div/table/tr/td/table/tr/td/table/tr/td")
for titles in titles:
title = titles.select("a/text()").extract()
link = titles.select("a/@href").extract()
price = titles.select("/a[text()='${nbsp}']").extract()
print title, link, price