- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
python提取html当中的信息
SGMLParserPython 默认自带 HTMLParser 以及 SGMLParser 等等解析器,前者实在是太难用了,我就用 SGMLParser 写了一个示例程序:importurllib2fromsgmllibimport SGMLParser?class ListName(SGMLParser):def__init__(self):SGMLParser.__init__(self)self.is_h4==[]def start_h4(self, attrs):self.is_h4=1def end_h4(self):self.is_h4=def handle_data(self, text):ifself.is_h4==1:.append(text)?content =urllib2.urlopen(/browse/cat-0.htm).read()listname = ListName()listname.feed(content)for item in :print item.decode(gbk).encode(utf8)很简单,这里定义了一个叫做?ListName?的类,继承?SGMLParser?里面的方法。使用一个变量?is_h4?做标记判定 html 文件中的?h4?标签,如果遇到?h4?标签,则将标签内的内容加入到?List?变量?name?中。解释一下?start_h4()?和?end_h4()?函数,他们原型是 SGMLParser 中的start_tagname(self, attrs)end_tagname(self)tagname?就是标签名称,比如当遇到?pre,就会调用?start_pre,遇到?/pre,就会调用end_pre。attrs?为标签的参数,以?[(attribute, value), (attribute, value), ...]?的形式传回。输出:虚拟票务数码市场家电市场女装市场男装市场童装童鞋女鞋市场男鞋市场内衣市场箱包市场服饰配件珠宝饰品美容市场母婴市场家居市场日用市场食品/保健运动鞋服运动户外汽车用品玩具市场文化用品市场爱好市场生活服务如果有乱码,可能是与网页编码不一致,需要替换最后一句?deconde()?的参数,我在香港淘宝默认用的是繁体编码。各位可以 copy 上面的代码自己试试,把淘宝的商品目录抓下来,就是这么简单。稍微改改,就可以抽取二级分类等其他信息python的SGMLParser模块处理html解析非常的方便,它是处理网页解析的好帮手,能够将HTML 处理分成三步:将 HTML 分解成它的组成片段,对片段进行加工,接着将片段再重新合成 HTML。第一步是通过 sgmllib.py 来完成的,它是标准 Python 库的一部分。理解本章的关键是要知道 HTML 不只是文本,更是结构化文本。这种结构来源于开始与结束标记的或多或少分级序列。通常您并不以这种方式处理 HTML ,而是以文本方式在一个文本编辑中对其进行处理,或以可视的方式在一个浏览器中进行浏览或页面编辑工具中进行编辑。sgmllib.py 表现出了 HTML 的结构。sgmllib.py 包含一个重要的类:SGMLParser。SGMLParser 将 HTML 分解成有用的片段,比如开始标记和结束标记。在它成功地分解出某个数据为一个有用的片段后,它会根据所发现的数据,调用一个自身内部的方法。为了使用这个分析器,您需要子类化 SGMLParser 类,并且覆盖这些方法。这就是当我说它表示了 HTML 结构的意思:HTML 的结构决定了方法调用的次序和传给每个方法的参数。SGMLParser 将 HTML 分析成 8 类数据,然后对每一类调用单独的方法:开始标记 (Start tag)是开始一个块的 HTML 标记,像、、或 等,或是一个独一的标记,像 或 等。当它找到一个开始标记 tagname,SGMLParser 将查找名为 start_tagname 或 do_tagname 的方法。例如,当它找到一个 标记,它将查找一个 start_pre 或 do_pre 的方法。如果找到了,SGMLParser 会使用这个标记的属性列表来调用这个方法;否则,它用这个标记的名字和属性列表来调用 unknown_starttag 方法。 结束标记 (End tag) 是结束一个块的 HTML 标记,像 、、 或 等。当找到一个结束标记时,SGMLParser 将查找名为 end_tagname 的方法。如果找到,SGMLParser 调用这个方法,否则它使用标记的名字来调用 unknown_endtag 。 字符引用 (Character reference) 用字符的十进
您可能关注的文档
- 144数轴.ppt
- 144比例尺课件.ppt
- 144王光荣《跨越百年的美丽》.ppt
- 144电功率课件.ppt
- 144梯形的面积.ppt
- 144长度单位_人教二年级数学上册.ppt
- 144威尼斯商人PPT.ppt
- 144开辟新航路.ppt
- 工控LCD监视器.pdf
- 144音乐巨人贝多芬.ppt
- 【SEC-2025行业研究报告】Form S-1 Cingulate Inc. .pdf
- 【港交所-2025研报】俊裕地基 二零二四-二五年年报.pdf
- 【SEC-2025行业研究报告】Form S-1 21Shares Ondo Trust .pdf
- 【SEC-2025行业研究报告】Form S-1 A AIM ImmunoTech Inc. .pdf
- 【SEC-2025行业研究报告】Form 10-Q Albertsons Companies, Inc. .pdf
- 【国联民生证券-2025研报】Robotaxi行业专题研究:技术+成本+政策三角驱动Robotaxi商业化提速.pdf
- 【SEC-2025行业研究报告】Form 10-Q MANHATTAN BRIDGE CAPITAL, INC .pdf
- 【SEC-2025行业研究报告】Form S-1 UPEXI, INC. .pdf
- 【华安证券-2025研报】2024年&2025Q1医疗服务、生物制品板块业绩总结和投资展望:行业内部分化明显,关注细分赛道结构性机会.pdf
- 【爱建证券-2025研报】人工智能月度跟踪:全球最大参数模型KimiK2发布.pdf
最近下载
- 人教版四年级数学上册培优练习题《亿以内数的认识》.pdf VIP
- 中考数学(二次函数提高练习题)压轴题训练含详细答案(1).doc VIP
- 表1消防技术服务基础设备配备要求.doc VIP
- 探索“在线问诊”服务 - 春雨医生产品分析报告.docx VIP
- 私域培训2_私域顶层设计.pptx VIP
- 人教版2024四年级上册英语 unit1 C 课件.pptx VIP
- 2024届广东深圳市翠园中学高三第三次模拟考试语文试卷含解析.doc VIP
- 专题05 记叙文阅读(解析版)-备战2025年中考语文真题题源解密(上海专用).docx VIP
- 04抗滑桩施工技术规程(试行)-TCAGHP 004-2018.pdf VIP
- 借款合同借款合同.docx VIP
文档评论(0)