【问题标题】:Python - using the parametes of Flipkart APIPython - 使用 Flipkart API 的参数
【发布时间】:2016-11-03 16:00:09
【问题描述】:

我试图使用link 中给出的脚本获取评论信息。我能够获得一个页面。有没有办法让它用于多个页面。以下是代码:

import requests

data = {"productId": "MOBEG4XWJG7F9A6Z", # end of url pid=MOBEG4XWJG7F9A6Z
        "count": "15",
        "ratings": "ALL",
        "reviewerType:ALL"
        "sortOrder": "MOST_HELPFUL"}

headers = ({"x-user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.92 Safari/537.36 FKUA/website/41/website/Desktop"})
data = requests.get("https://www.flipkart.com/api/3/product/reviews", params=data, headers=headers).json()

我尝试更改参数如下:

data = {"productId": "MOBEG4XWJG7F9A6Z", # end of url pid=MOBEG4XWJG7F9A6Z
        "count": "15",
        "ratings": "ALL",
        "reviewerType:ALL"
        "sortOrder": "MOST_HELPFUL",
        "page": "2"}

但我得到了与以前相同的评论。我尝试使用以下命令获取 URL 路径:

data.request.path_url

当我尝试将获得的 URL 粘贴到浏览器中时,它返回错误。 有什么方法可以找到用于迭代页码的参数。请帮助。我是 Python 新手

【问题讨论】:

    标签: python selenium beautifulsoup


    【解决方案1】:

    控制当前页面的是start参数:

    data = {"productId": "MOBEG4XWJG7F9A6Z", # end of url pid=MOBEG4XWJG7F9A6Z
            "count": "15",
            "ratings": "ALL",
            "reviewerType": "ALL"
            "sortOrder": "MOST_HELPFUL",
            "start": "15"}  # page number 2
    

    【讨论】:

    • 完美运行.. 非常感谢。我有个小疑问,你是怎么确定参数是start的?能否请您告诉我,以便我也能理解。再次感谢。
    • @Jeril 它基本上只是从开头开始的偏移量,可以概括为“count * page_number”,其中page_number 从 0 开始。换句话说,对于count=15,您的第一页将有 start=0, second: start=15, third: start=30 etc..希望有帮助。
    猜你喜欢
    • 2015-08-19
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2022-08-06
    • 2010-12-25
    • 2017-04-01
    • 2013-05-19
    • 2015-02-05
    相关资源
    最近更新 更多