赞
踩
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
+ - [1. 首页](#1__315)
- [2. 职位列表](#2__322)
- [3. 薪水分析](#3__355)
- [4. 职位描述词云](#4__405)
- [5. app.py文件代码](#5_apppy_414)
https://www.liepin.com/zhaopin/?compkind=&dqs=010&pubTime=&pageSize=40&salary=&compTag=&sortFlag=&compIds=&subIndustry=&jobKind=&industries=&compscale=&key=%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98&siTag=LiAE77uh7ygbLjiB5afMYg%7EfA9rXquZc5IkJpXC-Ycixw&d_sfrom=search_fp&d_ckId=cd34a20d8742a36fa58243aee1ca77fe&d_curPage=0&d_pageSize=40&d_headId=cd34a20d8742a36fa58243aee1ca77fe
参考代码如下
def main(): job_list = [] key = "数据挖掘" dqs = ["010", "020", "050020", "050090", "030", "060080", "040", "060020", "070020", "210040", "280020", "170020"] new_key = urllib.parse.quote(key, 'utf-8') for item in dqs: url = "https://www.liepin.com/zhaopin/?key="+new_key+"&dqs="+item print(url) # 获取职位列表链接 job_html = get_job_html(url) # 解析网页分析网页得到链接 link_list = get_job_link(job_html) # 把链接储存到数组中 for i in link_list: job_list.append(i) # 保存职位链接到表格中 save_link(job_list)
参考代码:
def get\_job\_html(url): print("-------爬取job网页-------") html = "" head = { "User-Agent": UserAgent().random } """ head:模拟浏览器头部信息 "User-Agent":浏览器标识 """ request = urllib.request.Request(url=url, headers=head) try: response = urllib.request.urlopen(request) html = response.read().decode("utf-8") except Exception as e: return None return html
参考代码如下
def get\_job\_link(html): job_link = [] # 解析网页得到链接 soup = BeautifulSoup(html, "html.parser") for item in soup.find_all('h3'): if item.has_attr("title"): # 抽取链接内容 link = item.find_all("a")[0]["href"] job_link.append(link) print(link) try: find_next_link = soup.select(".pager > div.pagerbar > a")[7]['href'] if find_next_link == "javascript:": return job_link # 拼接上域名 find_next_link = "https://www.liepin.com" + str(find_next_link).replace('°', '0') print(find_next_link) # 获取到下一个网页的数据 next_html = get_job_html(find_next_link) # 解析网页 if next_html is not None: next_link = get_job_link(next_html) for link in next_link: job_link.append(link) except Exception as e: print(e) finally: return job_link
def save\_link(link_list):
work_book = xlwt.Workbook(encoding="utf-8", style_compression=0)
work_sheet = work_book.add_sheet("job\_link", cell_overwrite_ok=True)
col = "Link"
work_sheet.write(0, 0, col)
for i in range(0, len(link_list)):
print("第%d条" % i)
data = link_list[i]
work_sheet.write(i+1, 0, str(data))
work_book.save("job\_link.xls") # 保存数据
基本框架的搭建:
def main(): # 读取表格链接 links = read_excel_get_link() # 获取链接网页 for i in range(0, len(links)): if links[i][0] != 'h': links[i] = "https://www.liepin.com" + links[i] print(links[i]) # 获取网页 message_html = getLink.get_job_html(links[i]) if message_html is not None: # 解析数据 message_data = get_message_data(message_html) else: continue # 保存一条数据 try: save_datas_sql(message_data) except Exception as e: continue
def read\_excel\_get\_link():
links = []
# 读取表格链接数据
# 打开表格
work_book = xlrd.open_workbook("job\_link.xls")
# 获取sheet
sheet = work_book.sheet_by_index(0)
for i in range(1, sheet.nrows):
link = sheet.cell(i, 0).value
links.append(link)
return links
message_html = getLink.get_job_html(links[i])
参看网页的元素:
参考代码
def get\_message\_data(html): data = [] soup = BeautifulSoup(html, "html.parser") try: # 岗位名称 title = soup.select(".title-info > h1")[0]['title'] data.append(title) # 公司 company = soup.select(".title-info > h3 > a") if len(company) != 0: company = company[0]['title'] else: company = " " data.append(company) # 薪水 salary = soup.select(".job-title-left > p") if len(salary) != 0: salary = salary[0].contents[0] else: salary = " " salary = salary \ .replace('\n', '') \ .replace('\t', '') \ .replace('\r', '') \ .replace(' ', '') \ .replace('"', '') data.append(salary) # 描述 description = soup.select(".content.content-word") if len(description) != 0: all_des = description[0].contents description = " " for item in all_des: if type(item) == bs4.element.NavigableString: # print(item) description = description + item # print(description) else: description = " " description = description \ .replace('\n', '') \ .replace('\t', '') \ .replace('\r', '') \ .replace(' ', '') \ .replace('"', '') data.append(description) except Exception as e: print(e) finally: print(data) return data
创建数据库代码
# 建表语句 def init\_job\_sqlite(): connet = sqlite3.connect("job\_message.db") # 打开或创建文件 # 建表 c = connet.cursor() # 获取游标 sql = ''' create table if not exists job\_message( id integer not null primary key autoincrement, title text not null, company text, salary text, description text ) ''' c.execute(sql) # 执行sql语句 connet.commit() # 提交 connet.close() # 关闭数据库
插入数据到数据库中实现数据的储存
def save\_datas\_sql(data):
init_job_sqlite() # 初始化数控库
# 插入数据
connet = sqlite3.connect("job\_message.db") # 打开或创建文件
c = connet.cursor() # 获取游标
for index in range(0, 4):
data[index] = '"' + data[index] + '"'
sql = '''
insert into job\_message(title,company,salary,description)
values(%s)''' % ",".join(data)
c.execute(sql)
connet.commit()
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
ZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMzA5OTA3,size_16,color_FFFFFF,t_70#pic_center)
[外链图片转存中…(img-gT86RBY1-1715625644351)]
[外链图片转存中…(img-NWcWM1NO-1715625644352)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。