爬虫之成都单片机实习岗

本来计划使用scrapy,结果呢由于技术不精,最终跟流水账似的代码,还好得到的结果还不错。爬取了boss zhipin网站的数据,发现爬取一次就更新一次cookie,不然服务器返回一段不认识的html。收集了职位,发布时间,薪资地点,链接等信息存在excel里面。
存储数据用的是openxl模块,因为不常用,在此记录使用方法。
导入
from openxl import Workbook
新建工作簿
wb = Workbook()
选择默认工作表
sheet = wb.active
给工作表重命名
sheet.title = ‘考勤统计表’
写入多行数据
for row in data:
sheet.append(row)
保存excel文件
wb.save(‘考勤统计.xlsx’)

import requests
from bs4 import BeautifulSoup
import time
# 从 openpyxl 引入 Workbook(工作簿)类
from openpyxl import Workbook
from concurrent import futures
#为了判断两次登录的cookie是否改变,设置lstr和newstr,结果为false
lstr='''JSESSIONID=""; _bl_uid=d1kUIhkplabhvppR98Uyub0tmIUt; lastCity=100010000; __fid=0e1350eb0a068bdf26e42673e0313c36; __g=-; Hm_lvt_194df3105ad7148dcf2b98a91b5e727a=1605588068,1605599043; __zp_stoken__=4eeebODFXbSV8Uyw1LhtJejd%2FSSFCTF42a1ZBLD8yZBMHT0ldO0xTenB9JTdOJl0VfW5uVT1NXEIJDV4XKWdHOAl%2FJx4WHBEQWQ9vD21DDERHNRwYVnQ2PW0GRy1PWiRiez9kRnhELUR2bwl0JQ%3D%3D; toUrl=https%3A%2F%2Fwww.zhipin.com%2F; __c=1605588067; __l=r=https%3A%2F%2Fopen.weixin.qq.com%2F&l=%2Fwww.zhipin.com%2Fwechat%2Faccount%2Fbind%3Fwct%3D8a4295fcae3d15e1iBILvau9dyNTxuPjAofwQ4fcwaKRbWggp98M8w~~&g=&friend_source=0&friend_source=0; __a=34580553.1605588067..1605588067.82.1.82.82; Hm_lpvt_194df3105ad7148dcf2b98a91b5e727a=1605602481'''
headers={'user-agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",'cookie':'''JSESSIONID=""; _bl_uid=d1kUIhkplabhvppR98Uyub0tmIUt; lastCity=100010000; __fid=0e1350eb0a068bdf26e42673e0313c36; __g=-; Hm_lvt_194df3105ad7148dcf2b98a91b5e727a=1605588068,1605599043; __zp_stoken__=4eeebOHxpOioDQQNqVF9HH04%2Fb3pBeiJYT1YxXVcAdFlCQHdtaHZIPwp6IyJ7LXIQfW5uVT1NdjAcTBcXLg4ZMzRnJRhgPmRcDQZqYwAxDERHNRwYU1s9CHgAQFcKQR4xez9kRnhELUR2bwl0JQ%3D%3D; __c=1605588067; __l=r=https%3A%2F%2Fopen.weixin.qq.com%2F&l=%2Fwww.zhipin.com%2Fjob_detail%2F07b80f6c8ef433a83nZ639y4ElQ~.html&g=&friend_source=0&friend_source=0; __a=34580553.1605588067..1605588067.119.1.119.119; Hm_lpvt_194df3105ad7148dcf2b98a91b5e727a=1605614718; t=tGSBrNdorMKdtmrh; wt=tGSBrNdorMKdtmrh; wt2=iGNMX0LccMKdtmrh''','referer':'https://www.zhipin.com/web/geek/recommen'}
newstr='''JSESSIONID=""; _bl_uid=d1kUIhkplabhvppR98Uyub0tmIUt; lastCity=100010000; __fid=0e1350eb0a068bdf26e42673e0313c36; __g=-; Hm_lvt_194df3105ad7148dcf2b98a91b5e727a=1605588068,1605599043; __zp_stoken__=4eeebODFXbSV8Uyw2MgA4ejd%2FSSFBI28gWlZBLD8yZEsnKUJbJExTenB9DT83Xm4UfW5uVT1NXEIGTB8XLQ9%2FT3oRDm8AFQAdPA5tdnxCDERHNRwYV0dORGUuRy1PWiR9ez9kRnhELUR2bwl0JQ%3D%3D; toUrl=https%3A%2F%2Fwww.zhipin.com%2F; __c=1605588067; __l=r=https%3A%2F%2Fopen.weixin.qq.com%2F&l=%2Fwww.zhipin.com%2Fwechat%2Faccount%2Fbind%3Fwct%3D8a4295fcae3d15e1iBILvau9dyNTxuPjAofwQ4fcwaKRbWggp98M8w~~&g=&friend_source=0&friend_source=0; __a=34580553.1605588067..1605588067.86.1.86.86; Hm_lpvt_194df3105ad7148dcf2b98a91b5e727a=1605602814'''
# 通过 Workbook 类实例化一个工作簿
print(lstr is newstr)
wb = Workbook()
# 选择默认的工作表
sheet = wb.active
# 给工作表重命名
sheet.title = '成都单片机职位表'
data=[]
sheet.append(['职位','地点','发布时间','薪资水平','学历要求'])
urls=[]
executor = futures.ThreadPoolExecutor(max_workers=5)      #并发设置,但是爬取页面较少,没必要。
'''for page in range(1,11):url='https://www.zhipin.com/c101270100/?query=%E5%8D%95%E7%89%87%E6%9C%BA%E5%AE%9E%E4%B9%A0%E7%94%9F&ka=sel-city-101270100'+'&page='+str(page)+'&ka=page-'+str(page)urls.append(url)'''
for page in range(1,11):url='https://www.zhipin.com/c101270100/?query=%E5%8D%95%E7%89%87%E6%9C%BA%E5%AE%9E%E4%B9%A0%E7%94%9F&ka=sel-city-101270100'+'&page='+str(page)+'&ka=page-'+str(page)res=requests.get(url,headers=headers)if res.status_code==200:s=BeautifulSoup(res.text,'html.parser')print(s)items=s.find_all('div',class_='job-primary')for item in items:itm=item.find('span',class_='job-name')area=item.find('span',class_='job-area').textpub_time=item.find('div',class_='job-title').find('span',class_='job-pub-time').textjobname=itm.find('a')['title']href='http://zhipin.com'+itm.find('a')['href']print(jobname)salary=item.find('span',class_='red').textedu=item.find('div',class_='job-limit clearfix').textif '本科' in edu:education_background='本科'elif '大专' in edu:education_background='大专'else:education_background='硕士'data=[jobname,area,pub_time,salary,education_background,href]sheet.append(data)time.sleep(1)
print(data)
wb.save('成都单片机实习生.xlsx')

不知道怎么插入文件,截了结果图,大概就是这样,再细化可以使用Excel,或者Python小脚本,反正每个职位的链接都有,详情可进链接查看。

初学不久,并发和scrapy使用都不熟悉,不论你是想学的小白还是大佬都欢迎交流,接受批评,共同进步。

爬虫之成都单片机实习岗相关推荐

  1. 高德技术开放日 | 聊聊技术与成长那些事,大量实习岗、社招岗开放

    又到一年毕业季,即将开启(实习及正式)职场生涯的同学们会有不少疑惑.比如,热门技术如何在工业级业务场景落地并带来更好的用户体验?学术界科研与工业级研发的区别有哪些?智慧出行核心技术有哪些,目前主流的技 ...

  2. 字节跳动 python面试_字节跳动数据分析实习岗面试全经历,竟然也会问这样的问题?...

    临近年底,又有不少人跃跃欲试想跳槽了. 但跳槽这个事说容易也容易,投简历总是有人要的,但说难也难,要进大厂,不光要看能力,更要看项目,看背景. 就怕辛辛苦苦准备半天,面试的时候没表现好,直接被刷掉,面 ...

  3. 机器视觉工程师(实习岗)面经

    机器视觉工程师(实习岗)面经 一.工业图像质检面临的问题 1.1.数据杂.乱.太大等问题 1.2.缺陷数据少,甚至缺失问题 1.3 产生新缺陷问题 二.课题组研究课题问答 三.工作经历 四.数字图像处 ...

  4. 华为 SWE 实习岗 笔试题 JAVA

    最近又参与了一场华为的软件开发实习岗的笔试,于是想将题目分享一下~ 如果有啥更好的想法欢迎交流~ Here We Go! 题目一 幼儿园老师安排小朋友做游戏,现在需要给 N 个小朋友进行分组,老师让每 ...

  5. Alibaba SWE 实习岗 笔试题 JAVA

    最近参与了一场阿里的软件开发实习岗的笔试,于是想将题目分享一下~ 如果有啥更好的想法欢迎交流~ Here We Go! 题目一 小明现在有一个长度为 n 的不递减序列,现在你可以操作任意次(可以不进行 ...

  6. 浦发银行java开发面试_浦发银行成都分行研发岗

    为了帮助职业圈网友能够及时了解浦发银行成都分行研发岗的面试流程以及面试过程所涉及的面试问题,职业圈小编把刚获得的浦发银行成都分行研发岗面试经验马上编辑好,快速提供给大家,以便能够尽快帮助到有需要的人. ...

  7. 自学CFD:我在实习岗速成无人机设计和仿真的故事

    一.写在前面 大家好,我叫Jack(硕士在读),目前在企业实践学习. 作为一名门外汉,初识计算流体力学,经历了盲目无措.乱做一气,查资料找经验毫无进展,直到从B站遇到了Graychen老师.后转移到仿 ...

  8. Python爬虫实战 [成都短租房项目]

    Python爬虫实战[成都短租房项目] 一.项目需求 二.需求分析 三.爬虫部分 3.1 获取原始报文 3.2 数据清洗(re+string方法) 3.3 数据清洗(BeautifulSoup方法) ...

  9. 单片机c语言学习心得,单片机实习心得3篇

    单片机实习心得3篇 单片机实习心得篇1 最近自己对单片机特别的感兴趣,因为看到它能控制电机的转动,自己觉得很神奇.就想弄清楚它到底是怎么做到的? 我看到书上讲:单片机可以用两种语言编写,一种是c语言, ...

最新文章

  1. 用python处理excel-使用Python操作Excel文档(一)
  2. DAY2-python基础1
  3. hdu1247 Hat’s Words
  4. linux 漏洞数量,Debian Linux被列为过去20年漏洞数量最多的操作系统
  5. mysql 导入 mssql_MySQL(csv,text)导入mssql使用方法
  6. 有传闻说,写好总结可以升职加薪?
  7. PDF 与 Word互转工具。 在线的 和安装软件
  8. Android XML解析器– XMLPullParser
  9. 《Python编程从入门到实践》———第一章
  10. 北理乐学c语言基础答案晕,北理乐学C语言答案最新.doc
  11. 电脑软件:主流的压缩软件对比,看完你就会选择了
  12. python运行代码无反应_linux执行python命令后没有反应,不打印日志信息
  13. sql语句(SQL SERVER)
  14. Spring Boot(03)——自动配置
  15. 百度网盘批量重命名工具怎么用,百度网盘怎么批量修改文件名
  16. GoWithMi,一个可以买卖地块资源的分布式地图生态
  17. java.io.NotSerializableException
  18. 海思Hi3516AV200 Professional HD IP Camera SoC Datasheet
  19. B. Most socially-distanced subsequence【1200 / 思维 贪心 常见模型】
  20. 魔兽世界转服显示服务器不可用,魔兽世界转服(部分服务器开启了免费转服服务)...

热门文章

  1. 端到端安全能力,态势感知抵御潜在风险
  2. apache-ftpServer配置与使用
  3. [技术篇] Android11上导入GMS后,登录Google账号提示“您的账号未成功添加”问题。
  4. 详解C语言shell排序
  5. 使用insmod安装内核模块失败
  6. 新型碎石破碎设备,鄂破机首居第一
  7. 1095: [ZJOI2007]Hide 捉迷藏
  8. python颜色按红黄蓝递归_用Python给高斯的帽子换颜色 - 你妈妈都能看懂
  9. VirtualBox下载与安装linux redhat7.2
  10. MSRAction3D数据集分析