16 个版本

0.2.9 2024 年 8 月 14 日
0.2.8 2024 年 8 月 6 日
0.2.7 2024 年 5 月 20 日
0.2.6 2024 年 3 月 31 日
0.1.141 2023 年 10 月 11 日

2#price

Download history 181/week @ 2024-05-20 4/week @ 2024-05-27 16/week @ 2024-07-22 121/week @ 2024-08-05

137 个月下载量

GPL-3.0 许可

31KB
498

flipkart-scraper

Crates.io NPM Version Documentation GitHub issues Telegram GitHub license

抓取 Flipkart 产品详情和搜索。

免责声明: 我与 Flipkart 没有任何关联。此仓库是一个探索性项目,不适用于商业用途。


功能

  • 不需要任何客户端 ID/密钥或其他授权

  • 从产品 URL 抓取产品详情,包括

    • 产品名称
    • 当前价格和原始价格
    • 用户评分
    • 库存可用性
    • Flipkart 确保产品
    • 分享 URL(更直观的 URL)
    • 卖家信息(卖家名称和评分)
    • 产品缩略图
    • 亮点
    • 可用优惠
    • 产品规格
  • 从其查询中搜索 Flipkart 产品,提供以下详细信息

    • 产品名称
    • 产品链接
    • 产品缩略图
    • 产品的当前价格
    • 产品的原始价格

示例用法

导航到 示例 了解基本用法。

NPM 包

NPM 包可用于解析网页内容,返回有效的 JSON 对象响应。

参阅 js_demo 示例 了解使用 npm 包的快速概述。

可以使用 npm 安装此包

npm i @dvishal485/flipkart_scraper
  • 获取产品详情

    1. 使用 fetch API 或 axios 或任何其他网络模块获取产品页面。

    2. 使用库解析网页内容。

      import flipkart_scraper from "@dvishal485/flipkart_scraper";
      
      const product_details = flipkart_scraper.parse_product_details(product_webpage);
      console.log(product_details);
      
  • 搜索产品

    1. 使用 fetch API 或 axios 或任何其他网络模块获取搜索页面 (https://www.flipkart.com/search?q={query})。
    2. 使用库解析网页内容。
    import flipkart_scraper from "@dvishal485/flipkart_scraper";
    
    const search_result = flipkart_scraper.parse_search_results(product_webpage);
    console.log(search_result);
    

Rust 包

  • 获取产品详情

    获取和打印 Flipkart 产品详情的代码片段(使用产品的 URL)。

    use std::error::Error;
    use flipkart_scraper::{ProductDetails, Url};
    
    #[tokio::main]
    async fn main() -> Result<(), Box<dyn Error>> {
        let url = "https://www.flipkart.com/samsung-galaxy-f13-waterfall-blue-64-gb/p/itm583ef432b2b0c";
        let details = ProductDetails::fetch(Url::parse(url)?).await;
        println!("{:#?}", details);
        Ok(())
    }
    
  • 搜索产品

    搜索 Flipkart 上特定产品的代码片段(使用给定的查询)。

    use flipkart_scraper::ProductSearch;
    use std::error::Error;
    
    #[tokio::main]
    async fn main() -> Result<(), Box<dyn Error>> {
        let query = "samsung washing machine";
        let details = ProductSearch::search(query.into()).await;
        if let Ok(s) = details {
            println!("{:#?}\n\nTotal {} search results.", s, s.results.len());
        } else {
            println!("{}", details.unwrap_err());
        }
        Ok(())
    }
    

许可证

本项目受 GNU 通用公共许可证(GPL-3.0)许可。


依赖项

~4–16MB
~228K SLoC