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脚本
May 22 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
python tornado修改log输出方式
Nov 18 Python
Python的缺点和劣势分析
Nov 19 Python
python实现简单俄罗斯方块
Mar 13 Python
pandas使用之宽表变窄表的实现
Apr 12 Python
python 画图 图例自由定义方式
Apr 17 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 Python
python 将Excel转Word的示例
Mar 02 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中$this-&amp;gt;含义分析
2009/11/29 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
JavaScript 变量基础知识
2009/11/07 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python实现子类调用父类的方法
2014/11/10 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
Python threading的使用方法解析
2019/08/28 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
万年牢教学反思
2014/02/15 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
英文邀请函
2015/02/02 职场文书
个人工作保证书
2015/02/28 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python