python编程获取网页标题title的几种方法及效果对比(源代码)

Posted 紫郢剑侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编程获取网页标题title的几种方法及效果对比(源代码)相关的知识,希望对你有一定的参考价值。

boss发了几百个网页url过来,要求把与某某人有关的信息筛选出来。

用之前写的HttpRead(简介和下载地址在本文末属)将这些网页url内容读取出来,再做关键字搜索可以完成,但是效率实在是有点低。

研究了一下,发现从网页的标题(Title)就可以判断是否包含某某人的信息,也就是只要读取网页的标题(Title),就可以进行筛选了。

由于对网页的处理要用到正则表达式,而HttpRead是用MASM32编写的,不直接支持正则表达式,要作相应的修改不是一下子就能搞定的,于是拿现在流行的Python来试了一下。现在Python的编程资料很多,现学现用^_^

# -*- coding:UTF-8 -*-

import urllib.request

import re

#url = 'http://bing.com'

url ='http://www.mengxi.net/book/263745/index.html'

page = urllib.request.urlopen(url,data = None)

html = page.read().decode('utf-8')

# or html=urllib.urlopen(url).read()

#print (html)

# Python3 findall数据类型用bytes类型


#方法1:无法读取包含\\r\\n\\t的标题文本

title = re.findall(r'',html)

print (title)



#方法2:无法过滤换行符

con = re.findall(r'', html, re.S|re.M)

print (con)



#方法3

tag = 'title'

tag_pat = r'(?<=<'+ tag + '>).*?(?=</' + tag + '>)'  

tag_ex = re.compile(tag_pat, re.M|re.S)  

tag_obj = re.search(tag_ex, html)

con = tag_obj.group()

print (con)

运行情况如下:

#D:\\Python34\\works>py title.py

#[]

#['\\r\\n\\t续蜀山剑侠传最新章节首家独发 - 风叶如笛 - 武侠仙侠 - 梦溪文学网\\r\\n']

#

#       续蜀山剑侠传最新章节首家独发 - 风叶如笛 - 武侠仙侠 - 梦溪文学网

从运行结果来看,方法3返果的结果比较好。不过还要做进一步的过滤,比如前面的空格。

附:

HttpRead简介:

用MASM32写的 HttpRead 0.0.0001 beta4_紫郢剑侠的博客-CSDN博客https://blog.csdn.net/Purpleendurer/article/details/2298689

HttpRead下载地址:HttpRead-0_0_0001-Beta4-Web开发文档类资源-CSDN文库https://download.csdn.net/download/Purpleendurer/417232

以上是关于python编程获取网页标题title的几种方法及效果对比(源代码)的主要内容,如果未能解决你的问题,请参考以下文章

python 获取当前文件夹路径及父级目录的几种方法

Python编程系列---Python中装饰器的几种形式及万能装饰器

C#获取指定网页源码的几种方法

Python爬虫系列:判断目标网页编码的几种方法

python执行linux系统命令的几种方法(python3经典编程案例)

python执行linux系统命令的几种方法(python3经典编程案例)