Python爬虫之网页抓取Keywords,帮对象查录取信息

   日期:2024-12-26     作者:o93v3       评论:0    移动:http://w.yusign.com/mobile/news/4724.html
核心提示:这是三个月之前用写的脚本,现在补的Markdown。当时对象(这个是真的对象)参加完某高校的研究生复试,

这是三个月之前用写的脚本,现在补的Markdown。当时对象(这个是真的对象)参加完某高校的研究生复试,一直焦急的等待着成绩,成绩出来的结果是范围时间的,所以就写了这个脚本,在后台一直搜索 keywords ,如果搜索到了,就弹出窗口提示。

  • 操作环境:Win10 & Pycharm
  • Python Version:Python 3.6.3:Anaconda,Inc.

Python爬虫之网页抓取Keywords,帮对象查录取信息

首先是获取整个网页的信息

 

函数 中是正常的获取整个网页信息的操作。如果有疑问可以释放每一步 函数,这里对charset 进行详细阐述。

字符串编码一直是令人非常头疼的问题,尤其是在处理一些不规范的第三方网页的时候。虽然Python提供了Unicode表示的和两种数据类型,并且可以通过和方法转换,但是,在不知道编码的情况下,对做不好做。

对于未知编码的,要把它转换成,需要先“猜测”编码。猜测的方式是先收集各种编码的特征字符,根据特征字符判断,就能有很大概率“猜对”。

当然,肯定不能从头自己写这个检测编码的功能,这样做费时费力。chardet这个第三方库正好就派上了用场。用它来检测编码,简单易用。

安装chardet

如果安装了Anaconda,chardet就已经可用了。否则,需要在命令行下通过pip安装

 

如果遇到Permission denied安装失败,请加上sudo重试。如果用 安装就很方便。

使用chardet

当拿到一个时,就可以对其检测编码。用chardet检测编码,只需要一行代码

 

检测出的编码是,注意到还有个字段,表示检测的概率是1.0(即100%)。

来试试检测GBK编码的中文

 

检测的编码是,注意到GBK是GB2312的超集,两者是同一种编码,检测正确的概率是74%,字段指出的语言是。

对UTF-8编码进行检测

 

再试试对日文进行检测

 

可见,用chardet检测编码,使用简单。获取到编码后,再转换为,就可以方便后续处理。

chardet支持检测的编码列表请参考官方文档Supported encodings。

刚才我们已经获取整个网页的 了,那么怎么获取有用的信息呢,一想到字符串的匹配问题正则表达式 当仁不让了。因为这次匹配的内容针对性,比较强,所以我们就用 进行匹配,代码如下

 

正则表达式,博大精深,就不在这里叙述了,有机会的话会补充,这里简单介绍

 
 

其实,我们主体内容已经完成了,我们可以通过上面的方式,找到匹配的 ,但是,如果找不到,还是得然程序一直找的,当找到的时候,最好还能很直接的告诉我,找到了!这就需要添加一些功能。我们添加另外一个线程,用来计数时间,每过多少秒进行一次查询搜索。当搜索到的时候,弹窗提示。

 

对于多线程及GUI界面的操作,并没有过多解释,因为当时对这方面还没有太多的了解,因为急着用,也就只按照功能要求写了,当然,可以调整访问网页的时间间隔。如果有结果的话,会有如下提示

顾不上美观了,结果达到就行了。

     本文地址:http://w.yusign.com/news/4724.html    述古往 http://w.yusign.com/static/ , 查看更多
 
标签: 编码
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号