Bash 使用哪些工具列出所有天堂OS ROM的定价?

Bash 使用哪些工具列出所有天堂OS ROM的定价?,bash,grep,restful-url,lineageos,xpath,Bash,Grep,Restful Url,Lineageos,Xpath,我打算买一部新的智能手机,它可以运行。因为关于合适的智能手机的决定总是以手机的价格为导向的,所以我想生成一个价格列表,其中包含由天堂OS支持的所有设备 要说得非常清楚:这个问题不是关于一个确切的分步教学的。这是关于找到正确的技术/工具来完成工作 使用哪些工具列出所有天堂OS ROM的定价? 我所知道的生成这样一个列表的唯一工具是“bash”环境中的“grep”和“wget”。这不是完成工作的最有效方式,我希望其他人能提供更合适的工具。然而,这是我生成列表的收据: 使用wget下载或 使用awk

我打算买一部新的智能手机,它可以运行。因为关于合适的智能手机的决定总是以手机的价格为导向的,所以我想生成一个价格列表,其中包含由天堂OS支持的所有设备

要说得非常清楚:这个问题不是关于一个确切的分步教学的。这是关于找到正确的技术/工具来完成工作

使用哪些工具列出所有天堂OS ROM的定价?


我所知道的生成这样一个列表的唯一工具是“bash”环境中的“grep”和“wget”。这不是完成工作的最有效方式,我希望其他人能提供更合适的工具。然而,这是我生成列表的收据:

  • 使用
    wget
    下载或

  • 使用
    awk
    和/或grep从主页源代码中筛选出所有设备的简单列表

  • 使用
    bash
    循环调用
    wget
    ,将每个设备字符串调用到idealo或amazon的restFull API(这真的是该技术的正确名称吗?)。这可能是这样的:

    设备的
    ,单位为$DEVICES;干活儿https://www.idealo.de/preisvergleich/MainSearchProductCategory.html?q=$device>$device.html

  • 使用
    grep
    通过筛选第一个搜索项目来查找带有设备价格的行。这可能和这一样丑陋:

    grep-A999999页面内容包装器device.html | grep-m1-A2“>价格前缀“| grep”€”

  • 使用
    cut
    从行中提取价格本身

  • 使用以下方法输出格式良好的列表:

    echo$device$price

  • 现在,我们使用适当的HTML解析器和: 注 通过测试a5y17lte(通过示例)没有结果

    该网站不可靠,另一个例子是:
    bacon 1,89€
    不是电话:D

    另一种工作工具是xidel:

    xidel -e '//a[starts-with(@href, "/model")]/text()' https://stats.lineageos.org/
    

    我看不到获取每个设备数据的捷径,这似乎是时间的瓶颈。你的总体想法似乎会奏效。如果你很快就需要这个,那就去做吧,这样至少你会得到一些东西。如果这是您唯一需要做的事情,那么您可以使用前10多个设备来查看是否有任何可以进行的优化,然后重新编码以利用这些优化。祝你好运。要解析html,请使用正确的解析器,如我的答案中所示
    m8 128,22 €
    bacon 1,89 €
    riva 224,99 €
    cancro 8,35 €
    klte 
    j7eltexx 
    t0lte 
    wt88047 
    i9300 35,58 €
    mido 558,00 €
    ...
    
    xidel -e '//a[starts-with(@href, "/model")]/text()' https://stats.lineageos.org/