爬取1xbet网站遇<Response [404]>错误,寻求解决方法
问题:爬取1xbet篮球早场数据返回<Response [404]>错误
尝试爬取1xbet网站篮球早场数据(网址:https://1xbet.com/sports/basketball/early),但始终返回<Response [404]>错误。已添加请求头并设置verify=False解决了“certificate verify failed”错误,但404问题仍存在。
使用的代码如下:
import requests, bs4 requests.packages.urllib3.disable_warnings() headers = {"User-Agent":"Mozilla/5.0"} url = "https://1xbet.com/sports/basketball/early" response = requests.get(url,headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}, verify=False) print(response) # soup = BeautifulSoup(page.content, 'html.parser') # lists = soup.find_all('section', class_="a_event") # print(lists)
解决方法
确认域名与路径有效性:1xbet存在区域定向域名,部分地区访问主站会被重定向到
1xbet.com.xx类二级域名,直接访问原路径会触发404。先在浏览器打开目标网址,复制跳转后的完整URL替换代码中的url值。补充完整请求头字段:仅User-Agent不足以通过网站验证,需从浏览器开发者工具中复制完整请求头(包含
Accept、Accept-Language、Referer等)添加到请求中。示例:headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Referer': 'https://1xbet.com/', 'Connection': 'keep-alive' }携带有效Cookie:1xbet依赖Cookie识别会话,未携带有效Cookie会被拒绝访问。可先在浏览器访问目标页面,复制Cookie值添加到请求头的
Cookie字段;或使用requests.Session()维持会话,先访问首页获取Cookie再请求目标页面。排查IP封禁问题:频繁请求可能导致IP被封禁,可尝试更换IP(如使用代理),或降低请求频率、添加随机延迟。
检查是否为动态加载内容:1xbet的赛事数据大概率通过AJAX动态加载,直接请求静态HTML无法获取数据。需分析浏览器网络请求,找到加载数据的API接口,直接请求接口获取JSON格式数据。
内容的提问来源于stack exchange,提问作者kien
相关产品推荐
相关产品推荐

