Python Scraping:如何抓取指定网站中的项目符号内容
抓取目标页面球员出战状态列表的解决方案
方法一:使用Python Requests + BeautifulSoup(静态页面抓取)
这是针对静态内容抓取的实用方案,步骤如下:
- 发送HTTP请求获取页面源码,添加请求头模拟浏览器避免被拦截
- 解析HTML,定位到包含目标状态列表的元素
- 过滤提取符合「球员名 (部位) — 状态」格式的内容
具体代码示例:
import requests from bs4 import BeautifulSoup # 目标页面URL url = "https://underdognetwork.com/basketball/nba-news-and-fantasy-basketball-notes-6-10" # 模拟浏览器请求头 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } # 获取页面内容 response = requests.get(url, headers=headers) response.encoding = "utf-8" # 解析HTML soup = BeautifulSoup(response.text, "html.parser") # 定位目标列表(实际页面中状态列表在class为"css-1e4w4z5"的ul容器内,可根据页面更新调整选择器) status_items = soup.select("ul.css-1e4w4z5 li") # 提取并过滤符合格式的内容 player_statuses = [] for item in status_items: text = item.get_text(strip=True) if "(" in text and "—" in text: player_statuses.append(text) # 输出结果 for status in player_statuses: print(status)
注意事项
- 网站DOM结构可能更新,需定期通过浏览器开发者工具检查元素选择器有效性
- 若页面为JS动态渲染内容,需改用Selenium或Playwright模拟浏览器渲染后抓取
- 频繁请求易触发反爬,建议添加请求间隔或使用代理
内容的提问来源于stack exchange,提问作者jwalman
相关产品推荐
相关产品推荐

