【发布时间】:2019-11-06 13:38:24
【问题描述】:
目标 我正在尝试:
1) 抓取页面上的所有价格实例;
2) 查找价格计数以获取页面上的产品计数; 3) 计算平均价格。
我为什么要这样做
我想在抓取网站时将 xpath 表达式放到 Screaming Frog 中,以便将计数和平均值提取到单独的列中。
我被困在哪里 我无法计算平均 b/c 价格是字符串,而不是整数。
人为的前任
由于我无法分享我的真实前任,我通过抓取这个 Hipmunk 查询复制了这个问题:https://www.hipmunk.com/flights#f=NYC;t=SEA;d=2019-11-08;r=2019-11-10;is_search_for_business=false.
我用来获取价格的 xpath://div[@class = 'FlightPrice']
您可以从下面屏幕截图中的“结果”窗格中看到,它运行良好。
screenshot of functional xpath
是否可以将货币字符串转换为整数,以便对它们进行计算?我尝试将它包装在一个 number() 函数中,但得到了一个 NaN error。不知道是不是因为$s。
【问题讨论】:
-
请在您的问题中发布您的示例代码(输入、您当前的尝试和预期结果)作为代码。
-
如果您使用的是 Scrapy,为什么不提取字符串并使用 float('number as a string') 进行转换?
-
仅供参考,这也可以用 xpath 2.0 来完成,但是 AFAIK,Scrapy 只支持 xpath 1.0。
-
@michael.hor257k 我确实发布了代码和屏幕截图。
标签: xslt xpath web-scraping scrapy screen-scraping