Python求职信息爬虫多输入经if判断过滤不熟悉技能问题求助
求职爬虫多技能过滤问题修复方案
核心问题排查
- 多技能输入未拆分:直接将输入的逗号分隔字符串(如
linux,sql)做遍历操作,实际循环时会逐个读取'l'、'i'、'n'这类单个字符,根本不会匹配完整的技能名称,过滤逻辑完全失效 - 校验逻辑写反:原有逻辑是「如果不熟悉的技能不在职位要求里,就标记为需要过滤」,和预期效果完全相反。正确逻辑应该是「如果职位要求里存在用户不熟悉的技能,才标记为需要过滤」
- break语句位置错误:技能校验结束后直接加了break,会在处理完第一个职位后直接终止整个职位遍历流程,且break写在打印逻辑之前,导致打印代码永远不会执行
- 未调用执行函数:原有代码只定义了
find_jobs(),没有主动调用,也是无输出的核心原因之一
修复后完整代码
import requests from bs4 import BeautifulSoup html_text = requests.get('https://www.timesjobs.com/candidate/job-search.html?searchType=personalizedSearch&from=submit&txtKeywords=python&txtLocation=').text soup = BeautifulSoup(html_text , 'lxml') print ('Write Your Skill That you are less familiar with, split with comma if multiple') # 拆分多技能输入,去除每个技能前后的空格和中间空格,避免匹配失败 unfamiliar_skill = [s.strip().replace(' ','') for s in input(">").split(',')] print (f'Filtering out {",".join(unfamiliar_skill)}') def find_jobs(): jobs = soup.find_all('li', class_ = "clearfix job-bx wht-shd-bx") for job in jobs: published_date = job.find('span', class_ = "sim-posted").span.text if "few" in published_date: company_name = job.find('h3', class_ = "joblist-comp-name").text.replace(' ','') require_experiance = job.find('ul', class_ = "top-jd-dtl clearfix").li.text.replace("card_travel", '') skills_requirment = job.find('span', class_="srp-skills").text.replace(' ','') location_of_the_job = job.find('ul', class_ = "top-jd-dtl clearfix").span.text for_more_info = job.find('header', class_ = "clearfix").h2.a["href"] have_unfamiliar_skill = False for skill in unfamiliar_skill: # 修正判断逻辑:职位要求包含不熟悉技能就标记为待过滤 if skill in skills_requirment: have_unfamiliar_skill = True # 匹配到一个就可以终止后续技能校验,提升效率 break if not have_unfamiliar_skill: print("necessary information") print(f"Company Name: {company_name.strip()}") print(f"Require Experiance: {require_experiance.strip()}") print(f"Skill Requirment: {skills_requirment.strip()}") print(f"Location Of The Job: {location_of_the_job.strip()}") print(f"For More Info: {for_more_info}") print('') # 调用函数执行逻辑 find_jobs()
内容的提问来源于stack exchange,提问作者Or Zemer Tov
相关产品推荐
相关产品推荐

