微信小程序> python爬虫西安邮电大学期末成绩查询-陕西西安小程序制作开发-西安微信小程序制作

python爬虫西安邮电大学期末成绩查询-陕西西安小程序制作开发-西安微信小程序制作

浏览量:2293 时间: 来源:蜘蛛侠wjj

1.到了期末考完试,发现了微信以前的那个西邮在线小程序不能直接查成绩了,要查成绩需要登录官网,点击成绩查询才可以看到成绩,因此我使用python爬虫制作了一个学校网站个人成绩的爬虫,我们学校的网站确实还是有点东西的,反爬做的很好,把重要的信息的源代码都隐藏了起来,但是经过我一下午的实践,终于还是搞出来了,我的思路是:1.首先使用selenium模拟登陆2.使用规则找到查询按键对应的路径3.使用模拟鼠标点击功能进行点击查询4.成绩出来以后,因为代码看不到,没法把信息爬取出来,因此我使用了selenium的截图功能,对成绩进行了截图保存(核心步骤)5.使用tkinter只做了一个简单界面,可以实现登录,显示成绩截图功能6.使用pyinstaller进行打包,这样发给同学们就能直接用了经过我以上的步骤,学校官网的信息就能爬取出来了https://github.com/Spider-Man123/xiyou-Final-Results-Spider一:上代码

fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionsimporttimeimporttkinterastkimportrandomdefchaxun():#模拟登陆,登陆后进行点击查询m=link.get()n=link2.get()url='http://www.zfjw.xupt.edu.cn/jwglxt/cjcx/cjcx_cxDgXscj.html?gnmkdm=N305005layout=defaultsu={}'.format('m')chrome_options=Options()chrome_options.add_argument('--headless')browser=webdriver.Chrome(options=chrome_options)browser.get(url)input=browser.find_element_by_xpath('//*[@id="yhm"]')input.send_keys(m)input1=browser.find_element_by_xpath('//*[@id="mm"]')input1.send_keys(n)m1=browser.find_element_by_xpath('//*[@id="dl"]')m1.click()r=browser.find_element_by_xpath('//*[@id="search_go"]')r.click()time.sleep(3)#随机生成一个数字,进行对图片的保存a=random.choice([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])p=a#找到所需信息路径进行截图browser.find_element_by_xpath('//*[@id="gbox_tabGrid"]').screenshot('chengji{}.png'.format(p))window.destroy()top=tk.Tk()top.title('spider-man.西安邮电大学成绩查询')top.geometry('700x500')canva=tk.Canvas(top,height=500,width=700)image_files=tk.PhotoImage(file='chengji{}.png'.format(p))canva.create_image(0,0,anchor='nw',image=image_files)canva.pack()top.mainloop()window=tk.Tk()window.title('spider-man.西安邮电大学成绩查询')window.geometry('400x500')canvas=tk.Canvas(window,bg='blue',height=135,width=190)image_file=tk.PhotoImage(file='1.png')canvas.create_image(0,0,anchor='nw',image=image_file)canvas.pack()l=tk.Label(window,text='请输入账号',bg='yellow',font=('Calibri',25),width=10,height=2)l.pack()link=tk.Entry(window,width=20)link.pack()l2=tk.Label(window,text='请输入密码',bg='yellow',font=('Calibri',25),width=10,height=2)l2.pack()link2=tk.Entry(window,width=20,show='*')link2.pack()b=tk.Button(window,text='查询',bg='orange',font=('Calibri',25),width=10,height=1,command=chaxun)b.pack()c=tk.Label(window,text='出现BUG加我QQ:1220785153',font=('黑体,10'),width=30,height=2)c.pack()window.mainloop()

2.二:结果展示1.输入账号和密码进行登录2.点击查询得到结果三:打包的EXE程序可以直接下载使用现在完后电脑需要有GoogleChrome和相对应的驱动,因为使用到了selenium这个库,需要调用浏览器打开网页我把一个驱动载文件里面放着,对应的谷歌版本是版本75.0.3770.142(正式版本)(64位)链接:https://pan.baidu.com/s/1ojDFIIXJNznyAfMXHRatlg提取码:gqmy

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎