我正在尝试从bs4中的“ https://stockx.com/”抓取网页,但出现urllib.error.HTTPError:HTTP错误403:禁止。反正我可以解决这个问题?
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = "https://stockx.com/"
uClient = uReq(my_url)
答案 0 :(得分:2)
传递useragent
标头似乎可以解决问题。
尝试这样的事情:
from urllib.request import urlopen as uReq, Request
from bs4 import BeautifulSoup as soup
my_url = "https://stockx.com/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"}
uClient = uReq(Request(url=my_url, headers=headers))
但是请知道,如果您要剪贴的数据是动态的,bs4
不会有太大帮助。考虑为此使用pyppeteer
或selenium
等。
答案 1 :(得分:0)
使用scrapy,它将尝试再次请求该网站,并且它将遵循重定向。