当前位置: 首页 > news >正文

做婚庆找什么网站做网站应该学什么语言

做婚庆找什么网站,做网站应该学什么语言,如何设立微信公众号,花坛设计平面图目录 抓取链家前十页的数据 计算均价和总价 计算的类型#xff08;整租#xff0c;合租#xff09; 计算的房型 抓取boss直聘前十页的数据 抓取boss直聘前十页的数据 将获取数据本地序列化 计算每个区的需求个数与均价 抓取链家前十页的数据 链家网址#xff1a;长…目录 抓取链家前十页的数据 计算均价和总价 计算的类型整租合租 计算的房型 抓取boss直聘前十页的数据 抓取boss直聘前十页的数据 将获取数据本地序列化 计算每个区的需求个数与均价 抓取链家前十页的数据 链家网址长沙房产网_长沙房地产_长沙房产门户(长沙链家网) 计算均价和总价 import time ​ from selenium import webdriver from selenium.webdriver.common.by import By ​ driver webdriver.Chrome() driver.get(https://cs.lianjia.com/zufang/rs岳麓区/) ​ # 总价 total 0 # 记录房间个数 size 0 ​ for i in range(2):elements driver.find_elements(By.CSS_SELECTOR, .content__list--item--main)print(f第{i1}页的数据)for el in elements:# 获取租房标题name el.find_element(By.CSS_SELECTOR, .content__list--item--title a).text# 判断是否包含独栋信息if name.__contains__(独栋):continue# 获取租房的价格price el.find_element(By.CSS_SELECTOR, .content__list--item-price em).textprint(fname{name},price{price})total float(price)# 记录房间的个数size len(elements)# 点击下一页driver.find_element(By.CSS_SELECTOR,a.next).click()# 模拟睡眠6秒time.sleep(2) ​ print(f总价{total}岳麓区的租房均价为{total/size}) 计算的类型整租合租 str name整租·万科里金域国际 4室2厅 南,price4500 name独栋·魔方公寓 长沙航天溪湖店 连锁公寓直租无中介费 1室1厅,price1800 name整租·潇湘奥林匹克花园 1室1厅 南,price2200 name合租·达美美立方 5居室 复式 南卧,price999 name整租·万科里金域国际 3室2厅 南,price3400# 计算的类型整租合租 print(整租, str.count(整租)) print(合租, str.count(合租)) 计算的房型 由于在爬取的数据中存在“居室”和“室”的区别所以请将所有的“居室”数据替换成“室”。 str name整租·万科里金域国际 4室2厅 南,price4500 name独栋·魔方公寓 长沙航天溪湖店 连锁公寓直租无中介费 1室1厅,price1800 name整租·潇湘奥林匹克花园 1室1厅 南,price2200 name合租·达美美立方 5居室 复式 南卧,price999 name整租·万科里金域国际 3室2厅 南,price3400import re import collections st str.replace(居室,室) rs re.findall(r\d室,st) print(rs) print(collections.Counter(rs)) 完整可执行且标注代码 import timefrom selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Chrome() driver.get(https://cs.lianjia.com/zufang/rs岳麓区/)# 总价 total 0 # 记录房间个数 size 0for i in range(2):elements driver.find_elements(By.CSS_SELECTOR, .content__list--item--main)print(f第{i1}页的数据)for el in elements:# 获取租房标题name el.find_element(By.CSS_SELECTOR, .content__list--item--title a).text# 判断是否包含独栋信息if name.__contains__(独栋):continue# 获取租房的价格price el.find_element(By.CSS_SELECTOR, .content__list--item-price em).textprint(fname{name},price{price})total float(price)# 顶部滚到底部driver.execute_script(window.scrollTo(0,document.body.scrollHeight);)# 记录房间的个数size len(elements)# 点击下一页driver.find_element(By.CSS_SELECTOR,a.next).click()# 模拟睡眠6秒time.sleep(2)print(f总价{total}岳麓区的租房均价为{total/size}) 抓取boss直聘前十页的数据 boss直聘网址BOSS直聘-找工作上BOSS直聘直接谈招聘求职找工作 抓取boss直聘前十页的数据 其中参数city101020100是中国天气网全城市代码weather_cityId。 from selenium import webdriver from selenium.webdriver.common.by import By import time ​ driver webdriver.Chrome() driver.get(https://www.zhipin.com/web/geek/job?queryjavacity101020100) ​ jobs [] ​ for i in range(3):time.sleep(6)elements driver.find_elements(By.CSS_SELECTOR, .job-card-wrapper)for el in elements:# 获取地区area el.find_element(By.CSS_SELECTOR,span.job-area).text# 获取薪酬salary el.find_element(By.CSS_SELECTOR,span.salary).textprint(farea{area},salary{salary})jobs.append({area:area,salary:salary})driver.find_element(By.CSS_SELECTOR,.selecteda).click() ​ print(jobs) 将获取数据本地序列化 Python的pickle模块是一种用于序列化将对象转换为字节流和反序列化将字节流转换回对象Python对象的工具。它可以将Python对象保存到文件中或从文件中加载对象。 pickle模块还有其他一些有用的函数和特性。以下是一些常见的功能 pickle.dumps(obj)将对象序列化为字节流但不保存到文件中。 pickle.loads(bytes_obj)从字节流中加载对象而不是从文件中加载。 pickle.dump(obj, file)将对象序列化并保存到文件中。 pickle.load(file)从文件中加载序列化的对象。 # 将获取到的结果保存到本地 p Path(jobs.txt) p.touch() # 通过pickle.dump实现数据序列化 pickle.dump(jobs,p.open(modewb)) 计算每个区的需求个数与均价 # 计算每个区的需求个数与均价 jobs pickle.load(open(jobs.txt,moderb)) print(jobs) areaslist(map(lambda a: .join(re.findall(r.*?·(.*?)·.*?,a[area])),jobs)) print(areas) import collections rs collections.Counter(areas) ​ for k,v in rs.items():print(f【{k}】的工作岗位需求数{v})# 获取该区的工作集合ps list(filter(lambda e: e[area].count(k) 0, jobs))# 获取该区的薪酬总价total functools.reduce(lambda a,b:aint(b[salary].split(-)[0]),ps,0)print(f该区的工作入门平均薪酬{total/len(ps)}) 完整可执行且标注代码 序列化 import json # 导入json模块用于处理JSON数据 import time # 导入time模块用于延时操作from selenium import webdriver # 导入selenium的webdriver模块用于自动化浏览器操作 from selenium.webdriver.common.by import By # 导入selenium的By模块用于定位元素driver webdriver.Edge() # 初始化Edge浏览器的WebDriver实例 driver.get() # 访问BOSS直聘网站的URL这里需要替换为实际的URLjobs [] # 初始化一个空列表用于存储抓取的职位信息# try: for i in range(2): # 循环两次假设只抓取两页的数据print(f正在获取第{i1}页数据) # 打印当前正在抓取的页码time.sleep(20) # 等待20秒让页面加载完成items driver.find_elements(By.CLASS_NAME,job-card-wrapper) # 查找所有具有job-card-wrapper类名的元素for item in items: # 遍历这些元素addr item.find_element(By.CLASS_NAME,job-area) # 在每个元素中查找具有job-area类名的元素price item.find_element(By.CLASS_NAME,salary) # 在每个元素中查找具有salary类名的元素print(addr.text, price.text) # 打印地址和薪资信息jobs.append({ # 将地址和薪资信息添加到jobs列表中area: addr.text,salary: price.text})# 它表示选取所有紧接在类为selected的元素后面的同级元素中的标签为a的元素driver.find_element(By.CSS_SELECTOR,.selecteda).click() # 点击下一页的链接print(jobs) # 打印所有抓取到的职位信息# 序列化 with open(jobs.json,w,encodingutf-8) as fp: # 打开或创建一个名为jobs.json的文件准备写入# ensure_asciiFalse (关闭默认阿斯玛写入方式)json.dump(jobs, fp, ensure_asciiFalse, indent2) # 将jobs列表中的数据序列化为JSON格式并写入文件格式化输出# except Exception as ex: # print(ex) # 这行代码被注释掉了它用于捕获并打印异常信息 反序列化 import json # 导入json模块用于处理JSON数据 import re # 导入re模块用于正则表达式操作 from collections import Counter # 导入Counter类用于计数jbos [] # 初始化一个空列表用于存储从JSON文件中加载的职位信息# 反序列化 with open(jbos.json, r, encodingutf-8) as fp: # 打开名为jbos.json的文件准备读取jbos json.load(fp) # 从文件中加载JSON数据到jbos列表中 print(jbos) # 打印加载的职位信息列表# 提取区名 def extract_district(job: dict): # 定义一个函数用于从职位信息中提取区域名称match re.search(r·([^·]区)·, job[area]) # 使用正则表达式匹配职位区域名称if match: # 如果匹配成功return match.group(1) # 返回匹配到的区域名称return # 如果没有匹配到返回空字符串arears list(map(extract_district, jbos)) # 使用map函数和extract_district函数将jbos列表中的每个职位映射到其区域名称生成一个新的列表arears print(arears) # 打印提取的区域名称列表# 统计每个区出现的次数 dict Counter(arears) # 使用Counter类统计arears列表中每个区域出现的次数 print(dict) # 打印区域出现次数的统计结果for k, v in dict.items(): # 遍历统计结果中的每个区域及其出现次数print(f{k}有{v}条招聘信息) # 打印每个区域的招聘信息数量total 0 # 初始化总薪水变量count 0 # 初始化计数器for job in jbos: # 遍历所有职位信息if job[area].__contains__(k): # 如果职位区域包含当前区域total total int(re.search(r(\d?)-, job[salary]).group(1)) # 将薪水转换为整数并累加到总薪水count 1 # 增加计数器print(f平均薪水{total}) # 打印当前区域的平均薪水
http://www.w-s-a.com/news/487649/

相关文章:

  • 网站建设项目费用报价ai软件下载
  • 面料 做网站重庆网站seo费用
  • 中国沈阳网站在哪里下载中国移动营销策略分析
  • 建设银行 钓鱼网站360免费建站教程
  • wordpress全站cdn网站运营年度推广方案
  • 成都网站开发培训机构网站开发 实习报告
  • 廊坊网站建设佛山厂商wordpress神主题
  • 成县建设局网站中国建筑有几个工程局
  • 网站打不开被拦截怎么办单页面网站制作
  • 关于协会网站建设的建议设计公司名字参考
  • 怎样申请做p2p融资网站页面设计时最好使用一种颜色
  • 一般做网站上传的图片大小网站软件设计
  • 用来网站备案注册什么公司好wordpress怎么搜索中文主题
  • 网站开发 打标签深圳软件公司排名
  • 邯郸的网站建设电子网站怎么做的
  • 中国企业信用网四川游戏seo整站优化
  • 下载站推广wordpress扩展字段
  • 网站建设这个工作怎么样免费电子版个人简历模板
  • 移动网站设计与制作网站开发接私活
  • 视频制作素材网站wordpress mysql 被删
  • 静态网站 模板公司一般都用什么邮箱
  • 做网站效果图是用ps还是ai泰安人才网最新招聘信息2022年
  • 免费建站网站一级大录像不卡在线看网页郑州网站关键
  • 做网站 然后百度推广哈尔滨建筑网
  • 章丘营销型网站建设网站测评必须做
  • 营销者网站怎么把网站黑了
  • 律师事务所手机网站校园网站设计
  • 网站案例展示分类网站响应速度优化
  • 风景网站的制作网站ip地址查询域名
  • 怎样看网站是谁做的马鞍山什么房产网站做的好