javascript - 使用 Scrapy Xpath 从脚本标签获取数据并将其用作 CSV

标签 javascript python web-scraping scrapy

我一直在尝试使用 Scrapy(xpath) 从脚本标签中提取数据。我的主要问题是识别正确的 div 和 script 标签。我是 xpath 的新手,非常感谢任何形式的帮助!

<script>    
var COUNTRY_SHOP_STATUS = "buy";
var COUNTRY_SHOP_URL = "";
try {
digitalData.page.pathIndicator.depth_2 = "mobile";
digitalData.page.pathIndicator.depth_3 = "mobile";
digitalData.page.pathIndicator.depth_4 = "smartphones";
digitalData.page.pathIndicator.depth_5 = "galaxy-s8";    
digitalData.product.pvi_type_name = "Mobile";
digitalData.product.pvi_subtype_name = "Smartphone";
digitalData.product.model_name = "SM-G950F";
digitalData.product.category = digitalData.page.pathIndicator.depth_3;
} catch(e) {}
</script>

我最终想用 model.name 和深度 3、4 和 5 的数据填充我的 csv 文件。我已经尝试了与此类似的问题中的其他解决方案,但它们似乎不起作用...

最佳答案

您可以使用正则表达式提取所需的值:

import re

source = response.xpath("//script[contains(., 'COUNTRY_SHOP_STATUS')]/text()").extract()[0]

def get_values(parameter, script):
    return re.findall('%s = "(.*)"' % parameter, script)[0]

print(get_values("pathIndicator.depth_5", source))
print(get_values("pvi_subtype_name", source))
print(get_values("model_name", source))
...

关于javascript - 使用 Scrapy Xpath 从脚本标签获取数据并将其用作 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52020484/

相关文章:

python - Django 标记迁移到 GAE

python - 一个比较特殊的txt文件解析

python - 使用 Python 和报纸3k lib 进行网页抓取不返回数据

javascript - 任何好的 javascript 库都允许抓取网站

javascript - 如何使用jquery访问这种Json?

javascript - 如何使用 meteor 创建登录系统?

python - 尝试通过将行添加到单个多行字符串中来逐行打印显示

javascript - 在 React 中从父级 JSON 数据获取所有子级

javascript - Quill - 添加图片 URL 而不是上传

python - 从 Tableau Public 仪表板中抓取数据