import requests from bs4 import BeautifulSoup #网页请求 def page_request(url,key): headers = { User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38 } params={ c : search , keyword : key, minsalary : , maxsalary : } req=requests.get(url,headers=headers,params=params) req.encoding=req.apparent_encoding return req #网页数据抓取打印 def page_parse(text): soup=BeautifulSoup(text, lxml ) job_list=soup.find_all( div ,class_= search_job_list ) for job in job_list: job_demand_list=job_welfare_list=[job] #工作名称 job_name=soup.find_all( div ,class_= Search_jobs_sub_Box ) #工作薪资 job_pay=soup.find_all( div ,class_= Search_jobs_sub_a Search_jobs_sub_cur ) #招聘公司 job_company=soup.find_all( div ,class_= co_recom ) #工作要去 job_demands=soup.find_all( div ,class_= search_city_list ) for i in job_demands: job_demand_list.append(i.text) #工作福利 job_welfares=soup.find_all( div ,class_= Search_jobs_sub ) for i in job_welfares: job_welfare_list.append(i.text) #打印所有内容 print(job_name,job_pay,job_company,job_demand_list,job_welfare_list) if __name__ == __main__ : url= http://www.zp.cc/job/? #输入关键字进行搜索 key=input( 请输入岗位: ) req=page_request(url,key) if req.status_code!=200: print( 访问出错 +str(req.status_code)) else: print( 访问成功 ,str(req.status_code))
你没有调用那个 page_parse(req.text)
刚刚调用了,还是没出数据
import requests from bs4 import BeautifulSoup #网页请求 def page_request(url,key): headers = { User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38 } params={ c : search , keyword : key, minsalary : , maxsalary : } req=requests.get(url,headers=headers,params=params) req.encoding=req.apparent_encoding return req #网页数据抓取打印 def page_parse(text): print(111111111) soup=BeautifulSoup(text, lxml ) job_list=soup.find_all( div ,class_= search_job_list ) for job in job_list: job_demand_list=job_welfare_list=[job] #工作名称 job_name=soup.find_all( div ,class_= Search_jobs_sub_Box ) #工作薪资 job_pay=soup.find_all( div ,class_= Search_jobs_sub_a Search_jobs_sub_cur ) #招聘公司 job_company=soup.find_all( div ,class_= co_recom ) #工作要去 job_demands=soup.find_all( div ,class_= search_city_list ) for i in job_demands: job_demand_list.append(i.text) #工作福利 job_welfares=soup.find_all( div ,class_= Search_jobs_sub ) for i in job_welfares: job_welfare_list.append(i.text) #打印所有内容 print(job_name,job_pay,job_company,job_demand_list,job_welfare_list) if __name__ == __main__ : url= http://www.zp.cc/job/? #输入关键字进行搜索 key=input( 请输入岗位: ) req=page_request(url,key) if req.status_code!=200: print( 访问出错 +str(req.status_code)) else: print( 访问成功 ,str(req.status_code)) page_parse(req.text)
看看结果
是这样的数据
全看后才发现你没有调用page_parse函数啊,那就不会出结果
那不就对了,这就是结果啊
这个是你正则的问题
你这个数据解析成这个样子
可我是提取这些数据啊
这个是你数据解析的问题了,改一下那些就行
这提取了一堆tag对象