Web Query无法读取NCSL缺席投票表格中的CSS标识单元格内容
问题根源与解决方案
核心问题
你读取不到内容的原因有两个:
::before是CSS伪元素,不在DOM中:伪元素是浏览器渲染页面时动态生成的,并不存在于服务器返回的原始HTML代码里。Web Query工具(不管是Excel内置的还是普通爬虫库)只能解析真实的DOM节点,没法读取CSS渲染层面的伪元素。- 单元格无实际文本内容:你看到的标记对应的单元格里,只有
(非换行空格)和空的<ul>/<li>结构,没有可被工具识别的文本值,自然读不到有效数据。
解决思路
不需要纠结读取“内容”,而是通过检测单元格的DOM结构来判断是否为True:
- 直接检查目标
<td>元素下是否包含<ul>标签(因为标记True的单元格都有这个结构),如果存在就标记为True,否则为False。
示例实现(以Python BeautifulSoup为例)
from bs4 import BeautifulSoup import requests # 获取页面HTML response = requests.get("目标页面URL") soup = BeautifulSoup(response.text, "html.parser") # 遍历表格中的目标td单元格 for td in soup.select("table tr td"): # 检查td内是否存在ul标签 if td.find("ul"): print("该单元格对应True") else: print("该单元格对应False")
额外提示
如果用的是Excel的Web Query,它只能抓取可见文本,这种场景下建议改用VBA脚本或者更灵活的爬虫工具来解析DOM结构,而非依赖文本内容提取。
内容的提问来源于stack exchange,提问作者VivM
相关产品推荐
相关产品推荐

