用python实现SGMLParser模块解析网页示例
这是我收集的一段自学时留用的关于python简单解析html的源码。拿出来和大家一起学习。用python实现SGMLParser模块解析网页内容,获取部分标签的href值。
#-*-coding:utf-8 #!/usr/bin/env python 2011-08-11 am import urllib2 from sgmllib import SGMLParser class parserXml(SGMLParser): def __init__(self): SGMLParser.__init__(self) self.hrefs = [] self.srcs= [] #保存视频数组 self.hrefs2=[] #获取超链接href值 def start_a(self, attrs): href = [v for k, v in attrs if k == "href"] self.hrefs.extend(href) #获取图片超链接href值 def start_img(self, attrs): src = [v for k, v in attrs if k == "src"] self.srcs.extend(src) #获取视频超链接href值 def start_embed(self,attrs): href2=[v for k, v in attrs if k=="href"] self.hrefs2.extend(href2) #--------www.iplaypy.com--------- #写入到文件中 def write(parser): hrefs=open("e:/tmp/urls.txt","w") #分行显示,链接 for href in parser.hrefs: hrefs.write("%s%s" % (href,"\n")) hrefs.close() #分行显示图片链接 imgs=open("e:/tmp/imgs.txt","w") for src in parser.srcs: imgs.write("%s%s" % (src,"\n")) imgs.close() #分行显示视频链接 shipin=open("e:/tmp/shipin.txt","w") for href2 in parser.hrefs2: shipin.write("%s%s" % (href2,"\n")) shipin.close() def main(): parser=parserXml() #防止抓取网站有设防(回避spider抓取),改为浏览器请求,(抓取网站网页所有内容) headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} req=urllib2.Request("http://www.xunlei.com",headers=headers) page_hander=urllib2.urlopen(req) page=page_hander.read() print page f=open("save.txt","w") f.writelines(page) f.close() #解析 parser.feed(page) write(parser) parser.close() if __name__=='__main__': main()
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/security/se2407.html
相关文章 Recommend
- • 2019年3月最新消息: Python 3.4.10 现已推出
- • [上海]招Python量化系统开发工程师
- • 支付宝官方给力福利!每天可领1个红包,直接当
- • 优集品网络科技有限公司招Python中/高级工程师
- • 爱因互动科技发展有限公司招募Python开发攻城狮
- • mozio招聘Python/Django工程师
- • Kavout金融科技公司招Python研发工程师
- • Python数组逆向输出,编程练习题实例四十
- • Python数组插入排序,编程练习题实例三十九
- • Python矩阵for循环应用,编程练习题实例三十八
- • Python操作Redis数据库方面的问题
- • 请python高手帮我看看这段python代码中函数setter的
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • 使用Python生成文件的MD5和sha1
- • 身份证号码解析python代码
- • python模块arcpy-要素工具箱脚本合集
- • 简单尝试使用python破解rar压缩文件的密码
- • python撞库操作的实战脚本源代码
- • 利用python将域名转换成IP 再扫描端口
- • Python迅雷快车旋风地址加密解密
- • Python特定文件备份方法源码示例
- • python自动完成扫描端口使用情况示例
- • Python生成字符串随机密码
图文精华 RECOMMEND
-
Python特定文件备份方法源码示例
-
练手python远程自由管控小程序
-
凯撒移位密码加密算法的Python3.
-
Python FTP破解小工具源码
-
Blowfish加密解密的Python实现方法
-
Python内置方法实现访问权限控制
热点文章 HOT
- Python脚本随机生成中文验证码源码实例分
- ipv4与ipv6地址如何转换的python解决办法
- 利用python将域名转换成IP 再扫描端口
- 使用Python生成文件的MD5和sha1
- Python迅雷快车旋风地址加密解密
- 凯撒移位密码加密算法的Python3.0实现方法
- 一个简易的hash加密小工具源码
- 练手python远程自由管控小程序