这是我用来获取耐克服装数据的代码。
Path path = new Path();
path.addArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle)
// sample: addArc(0, 0, 50, 50, 90, 360);
然后错误看起来像这样:
urllib.error.HTTPError:HTTP错误403:禁止
如何打开和解析此HTML页面?
答案 0 :(得分:1)
或者试试selenium
webdriver。
from selenium import webdriver
from bs4 import BeautifulSoup as bs
browser = webdriver.Firefox()
url = 'http://store.nike.com/us/en_us/pw/mens-clothing/1mdZ7pu?ipp=120'
browser.get(url)
source = browser.page_source
soup = bs(source, "html.parser")
print(soup)
这对我有用,但只是一个新手:)
答案 1 :(得分:0)
试试这个:
{{1}}
AppURLopener(继承自.request.FancyURLopener类)提供了一些很好的工具来模仿浏览器,从而绕过了403:Forbidden错误。
希望这有帮助!
答案 2 :(得分:0)
另外,您可以尝试.options-bar {
line-height: 50px;
width: 100%;
}
。
requests
答案 3 :(得分:0)
问题在于User-Agent
。此网站会阻止指定的User-Agent
,但无法在标题中指定任何User-Agent
工作正常。
import urllib.request
#Base url for website
url = 'http://store.nike.com/us/en_us/pw/mens-clothing/1mdZ7pu?ipp=120'
# A lot of sites don't like the user agents of Python 3, so I specify one here
req = urllib.request.Request(url)
html = urllib.request.urlopen(req).read()
print(html)
但是如果您想要添加标题,我建议您使用requests
。首先使用 - pip
通过pip install requests
安装软件包。
import requests
#Base url for website
url = 'http://store.nike.com/us/en_us/pw/mens-clothing/1mdZ7pu?ipp=120'
# A lot of sites don't like the user agents of Python 3, so I specify one here
html = requests.get(url, headers = {'User-Agent': 'Mozilla/5.0'})
print(html.text)
有关requests
的详细信息,请参阅此page。