使用Python提交高级ebay搜索

时间:2015-12-25 05:51:37

标签: python python-3.x web web-scraping

我知道有一个API用于抓取ebay,但我需要的只是提交高级搜索。

所以,我做了一个功能,(现在硬编码),但有一件事我无法工作。它将项目标记为新项目。

当在高级搜索表单中将项目标记为New时检查其表单上的元素,其他两个字段将标记为disabled,这是我可以看到的唯一更改。

我正在提交如下表单并将内容写入文件,以便我可以打开它以查看结果。

一切正常,我可以打开网页,这是正确的结果,但未选择New选项。

提交此选择的正确方法是什么?我已经尝试了很多变化而且没有尝试过任何工作。

def submit_advanced_search():

    params = {
        '_nkw': "",
        '_in_kw': 1,
        '_ex_kw': "",
        '_sacat': 20081,
        'LH_Sold': 1,
        '_udlo': 20,
        '_udhi': 250,
        'LH_ItemConditionUsed': {'disabled':'disabled'},
        'LH_ItemConditionNS': {'disabled':'disabled'},
        'LH_BIN': 1,
        'LH_FS': 1,
        'LH_Complete': 1,
    }

    content = requests.get("http://www.ebay.com/sch/i.html", params = params).content
    with open("search_result.html", "wb") as f:
        f.write(content)

1 个答案:

答案 0 :(得分:2)

这对我有用。正确的字段为'LH_ItemCondition': 3

所以函数将是:

def submit_advanced_search():

    params = {
        '_nkw': "",
        '_in_kw': 1,
        '_ex_kw': "",
        '_sacat': 20081,
        'LH_Sold': 1,
        '_udlo': 20,
        '_udhi': 250,
        'LH_ItemCondition': 3,
        'LH_BIN': 1,
        'LH_FS': 1,
        'LH_Complete': 1,
    }

    content = requests.get("http://www.ebay.com/sch/i.html", params = params).content
    with open("search_result.html", "wb") as f:
        f.write(content)