提取两个P之间的文本

约瑟

我正在尝试提取两个元素“执行人员”和“分析师”之间的数据,例如,但是我不知道如何进行。我的html是:

<div class="content_part hid" id="article_participants">
<p>Wabash National Corporation (NYSE:<a title="" href="http://seekingalpha.com/symbol/wnc">WNC</a>)</p><p>Q4 2014 <span class="transcript-search-span" style="background-color: yellow;">Earnings</span> Conference <span class="transcript-search-span" style="background-color: rgb(243, 134, 134);">Call</span></p><p>February 04, 2015 10:00 AM ET</p>
<p><strong>Executives</strong></p>
<p>Mike Pettit - Vice President of Finance and Investor Relations</p>
<p>Richard Giromini - President and Chief Executive Officer</p>
<p>Jeffery Taylor - Senior Vice President and Chief Financial Officer</p>
<p><strong>Analysts</strong></p>

我想对一大堆文件执行此操作,直到现在为止:

from bs4 import BeautifulSoup
import requests
import textwrap
import os
from lxml import html
import csv

directory ='C:/Research syntheses - Meta analysis/SeekingAlpha'
for filename in os.listdir(directory):
    if filename.endswith('.html'):
        fname = os.path.join(directory,filename)
        with open(fname, 'r') as f:
            page=f.read()
            soup = BeautifulSoup(f.read(),'html.parser')
            match = soup.find('div',class_='content_part hid', id='article_participants')
    print(match)

我是Python的新生,所以请耐心等待。

我更喜欢的输出是: 输出示例

标题可以在以下HTML中找到:

<div class="page_header_email_alerts" id="page_header">
      <h1>
        <span itemprop="headline">Wabash National's (WNC) CEO Richard Giromini on Q4 2014 Results - Earnings Call Transcript</span>
              </h1>

      <div id="article_info">
        <div class="article_info_pos">
          <span itemprop="datePublished" content="2015-02-04T21:48:03Z">Feb.  4, 2015  4:48 PM ET</span>
          <span id="title_article_comments"></span>
          <span class="print_hide"><span class="print_hide">&nbsp;|&nbsp;</span> <span>About:</span> <span id="about_primary_stocks"><a title="Wabash National Corporation" href="/symbol/WNC" sasource="article_primary_about_trc">Wabash National Corporation (WNC)</a></span></span>
          <span class="author_name_for_print">by: SA Transcripts</span>
            <span id="second_line_wrapper"></span>
        </div>
'''



大兵搜

合并您的代码。

import os
from simplified_scrapy.simplified_doc import SimplifiedDoc
directory ='C:/Research syntheses - Meta analysis/SeekingAlpha'
for filename in os.listdir(directory):
  if filename.endswith('.html'):
    fname = os.path.join(directory,filename)
    with open(fname, 'r') as f:
      page=f.read()
      doc = SimplifiedDoc(page)
      headline = doc.select('div#article_info>span#about_primary_stocks>a>text()')
      div = doc.select('div#article_participants')
      if not div: continue
      ps = div.getElements('p',start='<strong>Executives</strong>',end='<strong>Analysts</strong>')
      Executives = [p.text.split('-')[0].strip() for p in ps]
      ps = div.getElements('p',start='<strong>Analysts</strong>')
      Analysts = [p.text.split('-')[0].strip() for p in ps]
      print (headline)
      print (Executives)
      print (Analysts)

以下代码是一个示例。

from simplified_scrapy.simplified_doc import SimplifiedDoc
html = '''
<div class="page_header_email_alerts" id="page_header">
  <h1>
    <span itemprop="headline">Wabash National's (WNC) CEO Richard Giromini on Q4 2014 Results - Earnings Call Transcript</span>
  </h1>
  <div id="article_info">
    <div class="article_info_pos">
      <span itemprop="datePublished" content="2015-02-04T21:48:03Z">Feb.  4, 2015  4:48 PM ET</span>
      <span id="title_article_comments"></span>
      <span class="print_hide"><span class="print_hide">&nbsp;|&nbsp;</span> <span>About:</span> <span id="about_primary_stocks"><a title="Wabash National Corporation" href="/symbol/WNC" sasource="article_primary_about_trc">Wabash National Corporation (WNC)</a></span></span>
      <span class="author_name_for_print">by: SA Transcripts</span>
        <span id="second_line_wrapper"></span>
    </div>
  </div>
</div>
<div class="content_part hid" id="article_participants">
<p>Wabash National Corporation (NYSE:<a title="" href="http://seekingalpha.com/symbol/wnc">WNC</a>)</p><p>Q4 2014 <span class="transcript-search-span" style="background-color: yellow;">Earnings</span> Conference <span class="transcript-search-span" style="background-color: rgb(243, 134, 134);">Call</span></p><p>February 04, 2015 10:00 AM ET</p>
<p><strong>Executives</strong></p>
<p>Mike Pettit - Vice President of Finance and Investor Relations</p>
<p>Richard Giromini - President and Chief Executive Officer</p>
<p>Jeffery Taylor - Senior Vice President and Chief Financial Officer</p>
<p><strong>Analysts</strong></p>
<p>Jeffery Taylor - Senior Vice President and Chief Financial Officer</p>
</div>
'''
doc = SimplifiedDoc(html)
headline = doc.select('div#article_info>span#about_primary_stocks>a>text()')
div = doc.select('div#article_participants')
ps = div.getElements('p',start='<strong>Executives</strong>',end='<strong>Analysts</strong>')
Executives = [p.text.split('-')[0].strip() for p in ps]
ps = div.getElements('p',start='<strong>Analysts</strong>')
Analysts = [p.text.split('-')[0].strip() for p in ps]

print (headline)
print (Executives)
print (Analysts)

结果:

Wabash National Corporation (WNC)
[u'Mike Pettit', u'Richard Giromini', u'Jeffery Taylor']
[u'Jeffery Taylor']

这里有更多示例:https : //github.com/yiyedata/simplified-scrapy-demo/tree/master/doc_examples

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从两个词之间提取文本

来自分类Dev

提取两个行号之间的文本

来自分类Dev

使用.bat提取两个单词之间的文本

来自分类Dev

提取两个单词之间的文本,多行验证

来自分类Dev

提取熊猫列中两个标记之间的文本

来自分类Dev

使用.bat提取两个单词之间的文本

来自分类Dev

SimpleXML提取两个标签之间的文本

来自分类Dev

如何提取位于两个指标之间的文本?

来自分类Dev

正则表达式提取两个文本之间的文本并保存文本

来自分类Dev

Python-如何在大文本中的两个变量之间提取文本

来自分类Dev

在两个文本之间获取文本

来自分类Dev

提取两个逗号之间的字符?

来自分类Dev

提取两个标签之间的数据

来自分类Dev

提取两个关键字或一个关键字与\ n之间的文本

来自分类Dev

如何使用lxml(或BeautifulSoup)提取两个范围之间的文本?

来自分类Dev

在两个标记之间提取文本并在Regex for Python中处理反斜杠

来自分类Dev

需要在两个空白行之间提取一块文本

来自分类Dev

正则表达式:提取两个标记之间的文本

来自分类Dev

在Ruby中使用正则表达式提取两个标签之间的文本

来自分类Dev

R中两个逗号之间的文本数据的正则表达式提取

来自分类Dev

使用正则表达式提取两个标记之间的文本

来自分类Dev

如何使用str_extract提取两个单词之间的文本?

来自分类Dev

如何在Google表格中的两个单词之间提取文本?

来自分类Dev

从R中两个符号之间的段落中提取文本

来自分类Dev

如何解析/提取两个标签之间的日期和时间的文本?

来自分类Dev

正则表达式:提取两个标记之间的文本

来自分类Dev

从PowerShell中的Shell命令中提取两个关键词之间的多行文本

来自分类Dev

使用正则表达式提取两个标记之间的文本

来自分类Dev

如何使用Java提取文本文件中两个单词之间的内容?

Related 相关文章

  1. 1

    从两个词之间提取文本

  2. 2

    提取两个行号之间的文本

  3. 3

    使用.bat提取两个单词之间的文本

  4. 4

    提取两个单词之间的文本,多行验证

  5. 5

    提取熊猫列中两个标记之间的文本

  6. 6

    使用.bat提取两个单词之间的文本

  7. 7

    SimpleXML提取两个标签之间的文本

  8. 8

    如何提取位于两个指标之间的文本?

  9. 9

    正则表达式提取两个文本之间的文本并保存文本

  10. 10

    Python-如何在大文本中的两个变量之间提取文本

  11. 11

    在两个文本之间获取文本

  12. 12

    提取两个逗号之间的字符?

  13. 13

    提取两个标签之间的数据

  14. 14

    提取两个关键字或一个关键字与\ n之间的文本

  15. 15

    如何使用lxml(或BeautifulSoup)提取两个范围之间的文本?

  16. 16

    在两个标记之间提取文本并在Regex for Python中处理反斜杠

  17. 17

    需要在两个空白行之间提取一块文本

  18. 18

    正则表达式:提取两个标记之间的文本

  19. 19

    在Ruby中使用正则表达式提取两个标签之间的文本

  20. 20

    R中两个逗号之间的文本数据的正则表达式提取

  21. 21

    使用正则表达式提取两个标记之间的文本

  22. 22

    如何使用str_extract提取两个单词之间的文本?

  23. 23

    如何在Google表格中的两个单词之间提取文本?

  24. 24

    从R中两个符号之间的段落中提取文本

  25. 25

    如何解析/提取两个标签之间的日期和时间的文本?

  26. 26

    正则表达式:提取两个标记之间的文本

  27. 27

    从PowerShell中的Shell命令中提取两个关键词之间的多行文本

  28. 28

    使用正则表达式提取两个标记之间的文本

  29. 29

    如何使用Java提取文本文件中两个单词之间的内容?

热门标签

归档