我为什么不能通过BeautifulSoup刮擦亚马逊?

这是我的python代码:

import urllib2
from bs4 import BeautifulSoup

page = urllib2.urlopen("http://www.amazon.com/")
soup = BeautifulSoup(page)
print soup

它适用于google.com和许多其他网站,但不适用于amazon.com.

我可以在浏览器中打开amazon.com,但是结果“汤”仍然没有.

此外,我发现它也无法从appannie.com抓取.但是,代码没有给出任何错误,而是返回了一个错误:

HTTPError: HTTP Error 503: Service Temporarily Unavailable 

因此,我怀疑亚马逊和App Annie是否阻止抓取.

请您自己尝试,而不是直接投票给问题:(

谢谢

解决方法:

添加标题,然后它将起作用.

from bs4 import BeautifulSoup
import requests
url = "http://www.amazon.com/"

# add header
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, "lxml")
print soup
上一篇:php – SES AWS错误代码:SignatureDoesNotMatch,状态代码:403


下一篇:使用亚马逊的API查找产品的UPC(Python)