我正在考虑使用Beautiful Soup,一个用于HTML抓取的Python包.我应该看看还有其他HTML抓包吗?Python不是必需的,我实际上也有兴趣了解其他语言.
到目前为止的故事:
我想使用Python从HTML文件中提取文本.如果我从浏览器复制文本并将其粘贴到记事本中,我想要的输出基本相同.
我想要比使用可能在格式不正确的HTML上失败的正则表达式更强大的东西.我见过很多人推荐Beautiful Soup,但是我使用它时遇到了一些问题.首先,它选择了不需要的文本,例如JavaScript源代码.此外,它没有解释HTML实体.例如,我希望' 在HTML源代码中转换为文本中的撇号,就像我将浏览器内容粘贴到记事本中一样.
更新 html2text看起来很有希 它正确处理HTML实体并忽略JavaScript.但是,它并不完全产生纯文本; 它会产生降价,然后必须将其转换为纯文本.它没有示例或文档,但代码看起来很干净.
相关问题:
我想创建一个页面,其中所有驻留在我网站上的图像都列有标题和替代表示.
我已经给我写了一个程序来查找和加载所有HTML文件,但现在我被困在如何提取src,title并alt从这个HTML:
<img src="/image/fluffybunny.jpg" title="Harvey the bunny" alt="a cute little fluffy bunny" />Run Code Online (Sandbox Code Playgroud)
我想这应该用一些正则表达式完成,但由于标签的顺序可能会有所不同,而且我需要所有这些,我真的不知道如何以优雅的方式解析它(我可以通过char方式,但这很痛苦).
我想要一个正则表达式从HTML页面中提取标题.目前我有这个:
title = re.search('<title>.*</title>', html, re.IGNORECASE).group()
if title:
title = title.replace('<title>', '').replace('</title>', '')
Run Code Online (Sandbox Code Playgroud)
是否有正则表达式只提取<title>的内容,所以我不必删除标签?
任何人都可以推荐用于HTML解析的C或Objective-C库吗?它需要处理不完全验证的凌乱的HTML代码.
这样的库是否存在,或者我最好只是尝试使用正则表达式?
我正在寻找一个库/方法来解析一个html文件,该文件具有比通用xml解析库更多的html特定功能.
我正在尝试获取包含以下文本模式的HTML文档中的元素:#\ S {11}
<h2> this is cool #12345678901 </h2>
Run Code Online (Sandbox Code Playgroud)
所以,之前的匹配将使用:
soup('h2',text=re.compile(r' #\S{11}'))
Run Code Online (Sandbox Code Playgroud)
结果将是这样的:
[u'blahblah #223409823523', u'thisisinteresting #293845023984']
Run Code Online (Sandbox Code Playgroud)
我能够得到匹配的所有文本(见上面的行).但我希望文本的父元素匹配,因此我可以将其用作遍历文档树的起点.在这种情况下,我希望返回所有h2元素,而不是文本匹配.
想法?
如何智能地解析搜索结果在页面上返回的数据?
例如,假设我想通过解析许多图书提供商网站的搜索结果来创建一个搜索在线图书的网络服务.我可以获取页面的原始HTML数据,并做一些正则表达式使数据适用于我的Web服务,但如果任何网站更改了页面的格式,我的代码就会中断!
RSS确实是一个了不起的选择,但许多站点没有基于XML/JSON的搜索.
是否有任何工具包可以帮助自动在页面上传播信息?一个疯狂的想法是让模糊的AI模块识别搜索结果页面上的模式,并相应地解析结果......
我正在尝试创建一个在Blog Posts上运行良好的通用HTML解析器.我想将我的解析器指向特定的entrie的URL并获取帖子本身的干净文本.我的基本方法(来自python)一直使用BeautifulSoup/Urllib2的组合,这没关系,但它假设你知道博客条目的正确标签.有没有人有更好的想法?
以下是一些可能有人可以扩展的想法,我没有足够的知识/技术诀窍尚未实现.
unix程序'lynx'似乎特别好地解析了博客文章 - 他们使用了什么解析器,或者如何利用它?
是否有任何服务/解析器可以自动删除垃圾广告等?
在这种情况下,我有一个模糊的概念,即博客帖子通常包含在某个带有class ="entry"或类似内容的定义标签中,这可能是一个好的假设.因此,有可能创建一个算法,找到它们之间最干净的文本的封闭标签 - 对此有何想法?
谢谢!
html ×8
parsing ×4
python ×4
regex ×3
html-parsing ×2
text ×2
.net ×1
c# ×1
iphone ×1
php ×1
text-parsing ×1
web-scraping ×1
web-services ×1
webpage ×1