【发布时间】:2018-01-31 01:53:06
【问题描述】:
from scrapy.spiders import BaseSpider
from scrapy.selector import HtmlXPathSelector
class PriceSpider(BaseSpider):
name = 'price'
start_urls = ['https://www.nyse.com/quote/XNYS:A']
def parse(self,response):
price = response.xpath('//div[@class="d-dquote-x3"]//text()').extract()
print(price)
我正在尝试从这行 html 中提取价格:
<div><span class="d-dquote-x3">72.99</span>
它返回一个空列表,我怎样才能使价格(72.99)成为我的输出?
编辑:我认为这是一个关于具有动态内容的网站的问题,任何人都可以确认这一点,如果是的话,建议采取行动?
【问题讨论】:
-
试试这个来获取数据
response.css('.d-dquote-x3::text').extract_first()。但是,只有在使用splash或任何浏览器模拟器(如selenium)结合scrapy来呈现动态生成的内容时,您才能定位数据。
标签: html python-3.x xpath scrapy web-crawler