如何使用Selenium删除爬取的网页文本列表中包含UNKNOWN的元素
过滤爬取结果中UNKNOWN元素的实现方法
- 在文本列表去重后新增过滤步骤,即可清除不需要的UNKNOWN内容,也可以添加空格处理逻辑避免空白字符影响匹配效果
- 可根据实际需求调整匹配规则:支持完全匹配UNKNOWN才删除,也支持包含UNKNOWN关键词就删除
调整后的完整代码
from selenium.webdriver.common.by import By # 元素定位逻辑保持不变 birText = driver.find_element(By.XPATH,"//*[@id='collapse3']/div/div/div/div/div/div[2]/div/div/div[1]/div[1]/div/div/div/h3/strong") ikiText = driver.find_element(By.XPATH,"//*[@id='collapse3']/div/div/div/div/div/div[2]/div/div/div[2]/div[1]/div/div/div/h3/strong") ucText = driver.find_element(By.XPATH,"//*[@id='collapse3']/div/div/div/div/div/div[2]/div/div/div[3]/div[1]/div/div/div/h3/strong") my_list = [birText.text, ikiText.text, ucText.text] # 原有去重逻辑 my_list = list(dict.fromkeys(my_list)) # 新增过滤:完全匹配UNKNOWN则剔除,自动忽略首尾空格 my_list = [item for item in my_list if item.strip() != "UNKNOWN"] # 若需只要包含UNKNOWN就删除,替换为以下代码即可 # my_list = [item for item in my_list if "UNKNOWN" not in item] results = [] for query in my_list: results.append(search(query, tld="com", num=10, stop=10, pause=2)) for result in results: print(*list(result), sep='\n')
过滤步骤放在去重后、搜索请求发起前执行,既不会浪费请求资源调用无效搜索,也能保证最终输出的结果全部来自有效关键词的搜索。
内容的提问来源于stack exchange,提问作者E.MRZ
相关产品推荐
相关产品推荐

