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中numpy的矩阵、多维数组的用法
Feb 05 Python
Python 互换字典的键值对实例
Feb 12 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
keras.utils.to_categorical和one hot格式解析
Jul 02 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
Python常用断言函数实例汇总
Nov 30 Python
python 实现有道翻译功能
Feb 26 Python
用Python可视化新冠疫情数据
Jan 18 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 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中利用post传递字符串重定向的实现代码
2011/04/21 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
Jquery中获取iframe的代码
2011/01/11 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
windows下更新npm和node的方法
2017/11/30 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
python3使用SMTP发送简单文本邮件
2018/06/19 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
浅析python内置模块collections
2019/11/15 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
Python 爬虫的原理
2020/07/30 Python
先进事迹报告会感言
2014/01/24 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
招商引资工作汇报
2014/10/28 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
毕业设计论文评语
2014/12/31 职场文书
尊师重教主题班会
2015/08/14 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL