【发布时间】:2021-11-16 05:05:27
【问题描述】:
我正在尝试为作业构建网络抓取工具。 现在,我正在尝试添加一个将由 if 语句检查的多输入。
这是代码:
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')
unfamiliar_skill = input (">")
print (f'Filtering out {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"]
#for_more_info = job.header.h2.a["href"]
have_unfamiliar_skill = False
for skill in unfamiliar_skill:
if skill not 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('')
这是输出:
Write Your Skill That you are less familiar with
>linux,sql
Filtering out linux,sql
希望有人能帮助我。
谢谢
【问题讨论】:
-
请为您的输入添加一些示例和
skills_requirment -
当您在
in匹配list中的string时出现错误。检查skills_requirment的类型。将其转换为列表以使其为您工作。 -
@Amin ,当然,例如:Django,Linux,web scraping...
-
@aberry,我将 Skill_requirment 更改为列表: ''))``` 但是现在的问题是它的输出看起来像一个列表: Skill Requirment: ['\n', 'p', 'y', 't', 'h', 'o' ,'n',',','w','e','b','t','e','c','h','n','o','l',' o'、'g'、'i'、'e'、's'、','、'l'、'i'、'n'、'u'、'x'、','、'm' , 'o', 'b', 'i', 'l', 'e', ',', 'm', 'y', 's', 'q', 'l', ',', ' a','n','g','u','l','a','r','j','s',',','j','a','v' , 'a', 's', 'c', 'r', 'i', 'p', 't', '\r', '\n', '\r', '\n'] 如何我现在可以解决吗?
-
你能分享一下你在行`skills_requirment = job.find('span', class_="srp-skills").text.replace(' ','')`中得到的skills_requirment输出吗.似乎它已经是单个字符串,因此
list为您提供字符列表。
标签: python list if-statement web-scraping input