分享好友 资讯首页 资讯分类 切换频道
Python爬虫之网页抓取Keywords,帮对象查录取信息
2024-12-26 10:58  浏览:92

这是三个月之前用写的脚本,现在补的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界面的操作,并没有过多解释,因为当时对这方面还没有太多的了解,因为急着用,也就只按照功能要求写了,当然,可以调整访问网页的时间间隔。如果有结果的话,会有如下提示

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

    以上就是本篇文章【Python爬虫之网页抓取Keywords,帮对象查录取信息】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/news/4724.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
阳光分期全国客服电话-助力客户高效解决问题
阳光分期全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多拨几
好借优品全国客服电话-助力客户高效解决问题
好借优品全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多拨几
小白易购全国客服电话-助力客户高效解决问题
小白易购全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多拨几
美兴小额贷款全国客服电话-助力客户高效解决问题
美兴小额贷款全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多
爱施德网络小额贷款全国客服电话-助力客户高效解决问题
爱施德网络小额贷款全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;
拍拍分期全国客服电话-助力客户高效解决问题
拍拍分期全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多拨几
天天分期全国客服电话-助力客户高效解决问题
天天分期全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多拨几
中邮消费金融全国客服电话-助力客户高效解决问题
中邮消费金融全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多
招联消费金融全国客服电话-助力客户高效解决问题
招联消费金融全国客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您多
铁路12306全国人工客服电话-助力客户高效解决问题
铁路12306全国人工客服电话;(00861-38960-86246)—解决客户问题:{00861-57307-87089}—用户至上,用心服务。热线容易占线;请您