如何从网站页面中提取文本?
How to extract text from a websites page?
我正在尝试从某些网站的页面中提取文本,其 HTML 代码如下所示。很抱歉看起来很抱歉,因为我是新手并且不知道如何 select 我在下面编写的 HTML.The 代码中的特定代码块与提到的实际代码块有些匹配 above.I 我正在尝试提取 p
标签内的文本以及 h3
下的 strong
标签内的文本,并以一种保留网站中文本顺序的方式page.Upon 检查每个网页我发现所有文本都包含在 <div class=td-post-content>
但不是所有的都在 <p>
标签或 <strong>
标签下,可以有其他分支 <p><strong><em>text</em></strong></p>
。有没有一种方法可以在不为每个网页手动提取文本的情况下执行此操作?(供参考,我在这里提到 screenshot)
<div class="td-post-content">
<p>some_text</p>
<h3>
<strong>some_text</strong>
</h3>
<p>some_text</p>
<p>some_text</p>
<p>some_text</p>
<h3>
<strong>some_text</strong>
</h3>
<p>some_text</p>
<p>
<strong>
<em>text</em>
</strong>
</p>
<p>'some_text'</p>
<p>'some_text'</p>
</div>
如果我正确理解你的问题,你可以这样做:
获取 <div class="td-post-content">
元素内的所有元素,然后遍历每个元素并提取文本。
如果 <div class="td-post-content">
中有其他元素,不仅 p
和 h3
包含相关文本 - 应在此处添加更多过滤。
all_elements = driver.find_elements(By.XPATH, "//div[@class='td-post-content']//*")
for element in all_elements:
print(element.text)
我正在尝试从某些网站的页面中提取文本,其 HTML 代码如下所示。很抱歉看起来很抱歉,因为我是新手并且不知道如何 select 我在下面编写的 HTML.The 代码中的特定代码块与提到的实际代码块有些匹配 above.I 我正在尝试提取 p
标签内的文本以及 h3
下的 strong
标签内的文本,并以一种保留网站中文本顺序的方式page.Upon 检查每个网页我发现所有文本都包含在 <div class=td-post-content>
但不是所有的都在 <p>
标签或 <strong>
标签下,可以有其他分支 <p><strong><em>text</em></strong></p>
。有没有一种方法可以在不为每个网页手动提取文本的情况下执行此操作?(供参考,我在这里提到 screenshot)
<div class="td-post-content">
<p>some_text</p>
<h3>
<strong>some_text</strong>
</h3>
<p>some_text</p>
<p>some_text</p>
<p>some_text</p>
<h3>
<strong>some_text</strong>
</h3>
<p>some_text</p>
<p>
<strong>
<em>text</em>
</strong>
</p>
<p>'some_text'</p>
<p>'some_text'</p>
</div>
如果我正确理解你的问题,你可以这样做:
获取 <div class="td-post-content">
元素内的所有元素,然后遍历每个元素并提取文本。
如果 <div class="td-post-content">
中有其他元素,不仅 p
和 h3
包含相关文本 - 应在此处添加更多过滤。
all_elements = driver.find_elements(By.XPATH, "//div[@class='td-post-content']//*")
for element in all_elements:
print(element.text)