提问人:Timur 提问时间:9/12/2023 最后编辑:Timur 更新时间:9/13/2023 访问量:45
解析亚马逊产品时出现的问题
Problems with parsing products from amazon
问:
我想解析亚马逊产品,但我得到了这个回溯。我不明白为什么会这样。我认为这可能是因为该网站不希望我这样做。
回溯(最近一次调用最后一次):
文件“c:\Users\grafity\Desktop\main.py”,第 42 行,在
main()
文件“c:\Users\grafity\Desktop\main.py”,第 31 行,主
products = get_products(search_url)
^^^^^^^^^^^^^^^^^^^^^^^^
文件“c:\Users\grafity\Desktop\main.py”,第 14 行,在get_products中
response.raise_for_status()
文件“C:\Users\grafity\AppData\Local\Programs\Python\Python311\Lib\site-packages\requests\models.py”,第 1021 行,raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError:503 服务器错误:服务不适用于 url:https://www.amazon.ca/s?k=RTX+3070ti
编辑:我花了一些时间,以某种方式使它工作,但它非常不一致。有时它可以很好地解析卡片,有时值是 Null 的一半,通常所有值都是 Null。我怎样才能使 ,y 程序更加一致和安心。下面是一些示例输出:
{“img”: null, “name”: null, “price”: null, “url”: null}, {“img”: “https://m.media-amazon.com/images/I/71vWKkde2yL.AC_UY218.jpg“, ”name“: null, ”price“: null, ”url“: ”/sspa/click?“ ie=UTF8&spc=MToyNjUzMzM1MzIwODAzNjE5OjE2OTQ1MzczOTE6c3BfYXRmOjMwMDAwMTUzMzIyNDgwMjo6MDo6&url=%2FPNY-GeForce-Uprising-Triple-Graphics%2Fdp%2FB0C1HVL3BD%2Fref%3Dsr_1_1_sspa%3Fkeywords%3DRTX%2B3070ti%26qid%3D1694537391%26sr%3D8-1-spons%26sp_csd%3Dd2lkZ2V0TmFtZT1zcF9hdGY%26psc%3D1”}, {“img”: “https://m.media-amazon.com/images/I/81d0pk3xOiS.AC_UY218.jpg“, ”name“: null, ”price“: 843.0, ”url“: ”/MSI-Gaming-RTX-3070-Trio/dp/B096HJC18P/ref=sr_1_2?keywords=RTX+3070ti&qid=1694537391&sr=8-2“}
答:
我怎样才能使我的程序更加一致和可靠。
您可以多次运行抓取工具[中间有一段时间,以防万一被阻止]并仅使用非空值进行更新,或者[正如我的评论中建议的那样]尝试使用selenium,因为这可能会提供更一致和可靠的结果。
评论