亚马逊价格网络与python,请求和bs4刮

时间:2018-02-26 16:16:11

标签: python beautifulsoup python-requests

我有一个关于网页刮取亚马逊文章价格的问题。我试图得到一篇文章的价格,遗憾的是并不总是如此。我随机获得状态代码503(服务器不可用)。我可以使用while循环解决该问题,如果状态代码== 200,则结束循环。 我想了解不可用服务器的主要问题,所以我可以解决主要问题,而不是解决它。到目前为止,问题仅发生在亚马逊上。

这是我的10次测试代码。请求通常会失败2/10次

import requests
from bs4 import BeautifulSoup


for i in range(10):
    page = requests.get("https://www.amazon.de/Bloodborne-Game-Year-PlayStation-4/dp/B016ZU4FIQ/ref=sr_1_3?ie=UTF8&qid=1519566642&sr=8-3&keywords=bloodborne+ps4")

    if page.status_code != 200:
        print("Error status code: " + str(page.status_code))
        continue

    soup = BeautifulSoup(page.content, "html.parser")

    price = soup.find(id="priceblock_ourprice", class_="a-size-medium a-color-price")


    price_string = price.get_text()

    print(price_string)

1 个答案:

答案 0 :(得分:0)

它已经老了,但对于尝试这样做的人来说:

您应该使用用户代理,这是示例代码

headers = {
            myuseragent
                   }

        page = requests.get(url, headers=headers)

您可以在此处找到您的用户代理

user-agent