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 相关文章推荐
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
python的一些加密方法及python 加密模块
Jul 11 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Python 线程池用法简单示例
Oct 02 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 Python
使用tensorflow进行音乐类型的分类
Aug 14 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
Python办公自动化之Excel(中)
May 24 Python
Python+SeaTable实现计算两个日期间的工作日天数
Jul 07 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
提升PHP执行速度全攻略(上)
2006/10/09 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
jQuery 性能优化指南(2)
2009/05/21 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
Python读写Excel文件的实例
2013/11/01 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
python实现kmp算法的实例代码
2019/04/03 Python
python制作填词游戏步骤详解
2019/05/05 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
干部培训自我鉴定
2014/01/22 职场文书
会计学习心得体会
2014/09/09 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
报案材料怎么写
2015/05/25 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技
Python3的进程和线程你了解吗
2022/03/16 Python
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL
python 学习GCN图卷积神经网络
2022/05/11 Python