作家
登录

如何用Python解析HTML?

作者: 来源: 2018-03-28 00:03:06 阅读 我要评论

  1. soup = BeautifulSoup(all_text, 'html.parser')
  2. match = soup.findAll("img")
  3. if len(match) > 0:
  4. for m in match:
  5. imagelist.append(str(m))

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!


若何用Python解析HTML?

用一些简单的脚本,可以很轻易地清理文档和其它大年夜量的 HTML 文件。然则起首你须要解析它们。

我决定为本身创建一个项目来解决这个问题。 一种办法是搜刮未应用的现有图像文件。 如不雅我可以扫描所有 HTML 文件中的图像引用,然后将该列表与实际图像文件进行比较,那么我可能会看到不匹配的文件。

这是一个典范的图像标签:

我对 src=http://developer.51cto.com/art/201803/ 之后的第一组引号之间的部分很感兴趣。 在寻找了一些解决筹划后,我找到一个名为 BeautifulSoup 的 Python 模块。 脚本的核心部分如下所示:

我们可以应用这个 findAll 办法来挖出图片标签。 这是一小部分输出:

到如今为止还挺好。我原认为下一步就可以搞定了,然则当我裹足本中测验测验了一些字符串办法时,它返回了有关标记的缺点而不是字符串的缺点。 我将输出保存到一个文件中,并在 KWrite 中进行编辑。 KWrite 的一个好处是你可以应用正则表达式(regex)来做“查找和调换”操作,所以我可以用 \n<img 调换 <img,如许可以看得更清跋扈。 KWrite 的另一个好处是,如不雅你用正则表达式做了一个不明智的选择,你还可以撤消。

作为 Scribus 文档团队的经久成员,我要随时懂得最新的源代码更新,以便对文档进行更新和弥补。 我比来在刚进级到 Fedora 27 体系的计算机上应用 Subversion 进行检出操作时,对于下载该文档所须要的时光我认为很惊奇,文档由 HTML 页面和相干图像构成。 我生怕该项目标文档看起来比项目本身大年夜得多,并且困惑个中的一些内容是“僵尸”文档——不再应用的 HTML 文件以及 HTML 中无法拜访到的图像。

但我认为,肯定有比这更好的器械,所以我转而应用正则表达式,或者更具体地说 Python 的 re 模块。 这个新脚本的相干部分如下所示:

  1. match = re.findall(r'src=http://developer.51cto.com/art/201803/"(.*)/>', all_text)
  2. if len(match)>0:
  3. for m in match:
  4. imagelist.append(m)
  1. <img src="images/edit_shapes.png"
     1/8    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      苹果秘密专利曝光:一支能在空中写字的Apple Pen

    沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 2015年,固执的苹不雅也推出了带压力感应的手写笔,然则迄今为止,这个笔如今只能在iPad Pro上应用,这让苹不雅>>>详细阅读


    本文标题:如何用Python解析HTML?

    地址:http://www.17bianji.com/lsqh/40963.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)