Python检测网站链接是否已存在


Posted in Python onApril 07, 2016

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。

像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

早就听说Python语言操作简单,果然名不虚传,短短几句,就实现了基本的功能。

要检测目标网站上是否存在指定的URL,其实过程很简单:

1、获得指定网站网页的HTML代码

2、在HTML代码中查找指定的URL

3、如果存在,OK;否则,Error

整个程序引用了两个lib库,urllib2和sgmllib。

urllib2库主要定义了一些访问URL(基本通过HTTP)的函数与类。

sgmllib库主要负责解析HTML代码。

import urllib
from sgmllib import SGMLParser
class URLLister(SGMLParser):
def reset(self):
SGMLParser.reset(self)
self.urls = []
def start_a(self,attrs):
href=[v for k,v in attrs if k=='href']
if href:
if (href[].count('http://网站URL')==):
self.urls.extend(href)
links = ['http://www.google.com/',
'http://www.baidu.com',
'http://www.sohu.net',
'http://www..com',
'http://www.cnblogs.com',
'http://www.qq.com',
'http://www.yahoo.com/',
'http://www.bing.com/',
'http://www..com',]
for eachlink in links:
f = urllib.urlopen(eachlink)
if f.code ==:
parser = URLLister()
parser.feed(f.read())
f.close()
if (len(parser.urls)>=):
print 'The link from '+eachlink+' is OK!'
else:
print 'The link from '+eachlink+' is ERROR!'

这其中几个主要函数:

1、urllib2.urlopen(url[, data][, timeout])//打开一个URL

2、SGMLParser.feed(data) //获得需要解析的HTML数据

3、SGMLParser.start_tag(attributes) //指定需要解析的HTML标签,在本程序中,我们调用了start_a,说明我们需要解析HTML代码中<a>标签。通过查找<a>标签中href属性的value,可以获得该网页上所有链接的信息,只要我们指定的URL存在,就OK了。

这其实是一个很小的脚本,但也让我激动不已。一来,我已经跨进了Python的世界,并用它解决了实际工作中的问题,二来,它的简单语法、缩进格式着实让我眼前一亮。今后,希望能够多多使用Python,解决实际工作中的种种问题,做到学以致用.

以上内容是针对Python检测网站链接是否已存在的相关介绍,希望对大家有所帮助!

Python 相关文章推荐
python实现跨文件全局变量的方法
Jul 07 Python
wxPython框架类和面板类的使用实例
Sep 28 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
Python处理XML格式数据的方法详解
Mar 21 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
Python读写docx文件的方法
May 08 Python
python opencv 简单阈值算法的实现
Aug 04 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
Python网页解析器使用实例详解
May 30 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
Sep 14 Python
python多进程共享变量
Apr 06 #Python
python socket多线程通讯实例分析(聊天室)
Apr 06 #Python
python文件的md5加密方法
Apr 06 #Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 #Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 #Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 #Python
Python使用Mechanize模块编写爬虫的要点解析
Mar 31 #Python
You might like
德生PL330测评
2021/03/02 无线电
php&amp;mysql 日期操作小记
2012/02/27 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
7个JS基础知识总结
2014/03/05 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
九种原生js动画效果
2015/11/11 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
matplotlib中legend位置调整解析
2017/12/19 Python
python绘制中国大陆人口热力图
2018/11/07 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
护理专业毕业生自我鉴定
2013/10/08 职场文书
高中自我鉴定
2013/12/20 职场文书
心得体会怎么写
2013/12/30 职场文书
毕业证丢失证明
2014/01/15 职场文书
美容院店长岗位职责
2014/04/08 职场文书
干部鉴定材料
2014/05/18 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
python库sklearn常用操作
2021/08/23 Python