boss最近布置了个任务,把平时的后勤任务全部自动化,给了三个月的时间,如果是python大神,那当然是绰绰有余,可惜我不是啊,只好用旧有的东西和临时百度(对,虽然我可以上外网,但是我不认识英文,所以我用百度)拼凑一个出来。
知道一篇文章肯定是写不完了,所以加了个一,后续会跟上。
如果有正好同样有这个需求的,文章下方评论区多指教,有更好的方法的千万别藏着掖着,分享出来,嘿嘿嘿~~
第一步当然是抓数据了,我要抓的这个页面是从数据库动态加载的(别问我为啥不直接从数据库拿,数据库不是我家的),如果页面的数据不是从数据库加载,反而是通过标签就能获取到的,那就没必要往下看了,因为我,不会用标签获取(后期有需要再学)
获取方法:URL请求
第一步:拿到请求URL
打开浏览器要爬数据的网页,F12,默认是在elements上,打开network->XHR->Name下面带有?的都可以点击,就出现了右面的东西了,这个时候在Headers总就看到了要找的数据的url,复制,在浏览器中输入查询,会打开另一片天地呦
没找到贴代码的工具,就这么粘了,下面代码出来的数据就是在浏览器中直接访问上面的url看到的数据
import urllib url = "上面的url" headers = { 'User-agent': '不一样自己看', 'Cookie': '自己看自己的cookie是啥', 'Connection': 'keep-alive', 'Accept': 'text/plain, */*; q=0.01', # 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 'Host': 'agent.eflycloud.com', 'Referer': '不一样,自己看', } req = urllib.request.Request(url,None,headers) response = urllib.request.urlopen(req) the_page = response.read() #输出二进制格式的数据 print(the_page) data=the_page.decode("UTF-8") #获取的所有数据 print(data)
第二步:对数据进行处理
花里胡哨的页面已经成了看起来让人头晕的数据,这个时候想必已经不头疼了,json数据还不好办!根据我为数不多的经验来看,这里面基本上都是json,如果有其他的希望大佬们发个图片长长见识,接下来你需要的数据吧,split,map都用起来
第三步:写入excel
写入excel的代码就需要动动手去找下工具类了,到现在我也没有这个需求,我需要的是写入网页的在线表格中,目前没有想到什么好的办法,工具类也没有查询到,准备先用模拟鼠标键盘替代,毕竟先让车子跑起来才是第一要解决的问题。