【问题标题】:Customizing HTML snippet in Python在 Python 中自定义 HTML 片段
【发布时间】:2017-05-25 01:17:34
【问题描述】:

如果我有如下 HTML 片段,我如何在 python 中获得如下所需的输出。

示例 HTML sn-p:

<td width="10" class="data1"><a class="datalink" href="m01_detail.asp?key=002396653&amp;itemNumber=0">&gt;</a></td>

          <td class="data1"><a class="datalink" href="m01_detail.asp?key=002396653&amp;itemNumber=0">002396653</a></td>

          <td class="data1">IMPORT EXPRESS RECYCLE</td>

          <td class="data1">961879066</td>

        <td class="data1">11/23/2016</td>  

          <td class="data1"></td>        <!--SARA-->

          <td class="data1" align="center">CN</td>

          <td class="data1" align="center">PVG</td>

输出:

961879066|CN

到目前为止我的代码:

    def reading():
    with open("C:\\Users\\John\\Desktop\\test.txt") as f:
        for lines in f.readlines():
            line = lines.replace("\t","").strip()
            print (line)

    f.close()

    reading()

谢谢,

【问题讨论】:

  • 您应该使用beautifulsoup 来解析html 内容...顺便说一句,如果您发布您试图抓取的网站链接会有所帮助。例如,您可以使用soup.find_all('td', {'class':'data1'}) 获取所有td 属性等于data1td 标签。
  • 我同意@dot.Py 我们需要链接(或完整的 HTML 页面)。我认为您想要第四个和第六个td标签的文本是否正确?

标签: python html selenium


【解决方案1】:

您可以尝试以下代码来获得所需的输出:

import lxml.html

html = lxml.html.fromstring("""<td width="10" class="data1"><a class="datalink" href="m01_detail.asp?key=002396653&amp;itemNumber=0">&gt;</a></td>
<td class="data1"><a class="datalink" href="m01_detail.asp?key=002396653&amp;itemNumber=0">002396653</a></td>
<td class="data1">IMPORT EXPRESS RECYCLE</td>
<td class="data1">961879066</td>
<td class="data1">11/23/2016</td>
<td class="data1"></td>        <!--SARA-->
<td class="data1" align="center">CN</td>
<td class="data1" align="center">PVG</td>""")

output = html.xpath('concat(//td[4], "|", //td[7])')
print(output)  # '961879066|CN'

将原始HTML 代码传递给html 变量

【讨论】:

    猜你喜欢
    • 2018-11-20
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2014-08-02
    • 2020-12-14
    • 2019-10-24
    相关资源
    最近更新 更多