我正在尝试抓取预先格式化的html here。 但是我的代码只返回1个价格而不是全部10个价格。
此处看到的代码:
class MySpider(BaseSpider):
name = "working1"
allowed_domains = ["steamcommunity.com"]
start_urls = ["http://steamcommunity.com/market/search/render/?query=&appid=440"]
def parse(self, response):
sel = Selector(response)
price = sel.xpath("//text()[contains(.,'$')]").extract()[0].replace('\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t','')
print price
我是scrapy / xpath的新手,所以我不确定为什么不打印每个价格的实例。
有什么建议吗?谢谢!
答案 0 :(得分:3)
您将获得xpath匹配的第一个结果。相反,迭代所有这些:
for price in sel.xpath("//text()[contains(., '$')]").extract():
print price.strip(r"\r\n\t")
打印(多次出现$0.03
):
$0.03
$0.03
$0.03
$0.03
$0.03
$0.03
$0.03
$0.03
$0.03
$0.03