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中的reduce内建函数使用方法指南
Aug 31 Python
Python使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
python脚本实现验证码识别
Jun 07 Python
django session完成状态保持的方法
Nov 27 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
简单了解Django ContentType内置组件
Jul 23 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
一个入门级python爬虫教程详解
Jan 27 Python
python神经网络Xception模型
May 06 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
无线电的诞生过程
2021/03/01 无线电
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
如何判断php数组的维度
2013/06/10 PHP
PHP常用数组函数介绍
2014/07/28 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
微信支付开发告警通知实例
2016/07/12 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
JS实现li标签的删除
2019/04/12 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
NumPy 如何生成多维数组的方法
2018/02/05 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
英国医生在线预约:Top Doctors
2019/10/30 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
2015年资料员工作总结
2015/04/25 职场文书
党小组考察意见
2015/06/02 职场文书