【发布时间】:2019-03-19 19:09:10
【问题描述】:
from scrapy import Spider
from selenium import webdriver
from scrapy.selector import Selector
class FlipkartSpider(Spider):
name = 'flipkarttrial1'
allowed_domains = ['flipkart.com']
def start_requests(self):
self.driver = webdriver.Chrome('C:\\Users\\xyz\\chromedriver')
self.driver.get('https://www.flipkart.com/womens-footwear/heels/pr?sid=osp,iko,6q1&otracker=nmenu_sub_Women_0_Heels')
sel = Selector(text=self.driver.page_source)
prices = sel.xpath('//div/div[@class="_1vC4OE"]/text()').extract()
for price in prices:
print(price)
def parse(self, response):
pass
这里 scraper 打印价格,但是当我使用 yield 时,它会引发错误。我想将价格保存到 csv 文件。如何使用 'yield' 保存数据?
【问题讨论】:
-
也许你应该解释一下你到底想做什么。
-
yield 语句用于代替函数中的 return 语句来创建生成器,然后用于循环遍历函数的结果。我不确定您期望收益如何在这里为您提供帮助,并解释说这将使人们能够为您的问题提供解决方案。还有什么错误被抛出?
-
我用 self.driver.get(response.url) 尝试了代码,但它仍然不起作用。浏览器(Chrome)打开,但 url 没有加载。您能否提供一种将价格数据保存到 csv 文件的方法?
标签: python python-3.x selenium-webdriver web-scraping scrapy