Koh*_*ger 2 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)
Run Code Online (Sandbox Code Playgroud)
试试下面的脚本。它应该让你知道价格。
import requests
from bs4 import BeautifulSoup
URL = "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"
page = requests.get(URL,headers={"User-Agent":"Defined"})
soup = BeautifulSoup(page.content, "html.parser")
price = soup.find(id="priceblock_ourprice").get_text()
print(price)
Run Code Online (Sandbox Code Playgroud)
输出:
EUR 34,99
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5747 次 |
| 最近记录: |