我尝试过soup.find('! - '),但它似乎不起作用.提前致谢.
编辑:感谢您提供有关如何查找所有评论的提示.我有一个跟进问题.我如何专门搜索评论?
例如,我有以下评论标记:
<!-- <span class="titlefont"> <i>Wednesday 110518</i>(05:00PM)<br /></span> -->
我真的只想要这些东西<i>Wednesday 110518</i>."110518"是YYMMDD的日期,我倾向于将其用作我的搜索目标.但是,我不知道如何在特定注释标签中找到某些内容.
我一直在玩BeautifulSoup,这很棒.我的最终目标是尝试从页面中获取文本.我只是想从正文文本,用特制的情况下拿到冠军和/或ALT属性从<a>或<img>标签.
到目前为止我有这个EDITED & UPDATED CURRENT CODE:
soup = BeautifulSoup(page)
comments = soup.findAll(text=lambda text:isinstance(text, Comment))
[comment.extract() for comment in comments]
page = ''.join(soup.findAll(text=True))
page = ' '.join(page.split())
print page
Run Code Online (Sandbox Code Playgroud)
1)你有什么建议我的特殊情况的最好方法是不从上面列出的两个标签中排除这些属性?如果它太复杂而不能做到这一点,那就不像做#2那么重要了.
2)我想剥离<!-- -->标签和它们之间的一切.我该怎么办呢?
QUESTION EDIT @jathanism:这里有一些注释标签,我试图去除,但仍然存在,即使我使用你的例子
<!-- Begin function popUp(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=330,left = 774,top = 518');"); } // End -->
<!-- var MenuBar1 = new …Run Code Online (Sandbox Code Playgroud) 我正在使用 Beautiful Soup 来替换文本。
这是我的代码的示例:
for x in soup.find('body').find_all(string=True):
fix_str = re.sub(...)
x.replace_with(fix_str)
Run Code Online (Sandbox Code Playgroud)
如何跳过script和comment( <--! -->) 标签?
如何确定 中有哪些元素或标签x?
抱歉,如果这个问题与其他问题相似,我无法使任何其他解决方案发挥作用。我正在使用 beautifulsoup 抓取一个网站,并尝试从评论的表字段中获取信息:
<td>
<span class="release" data-release="1518739200"></span>
<!--<p class="statistics">
<span class="views" clicks="1564058">1.56M Clicks</span>
<span class="interaction" likes="0"></span>
</p>-->
</td>
Run Code Online (Sandbox Code Playgroud)
如何获得“观看次数”和“互动次数”部分?