如何从一个div中提取文本?

2024-09-29 21:56:20 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我解决这个问题吗? 我有这样一段话:

row.exact()

    u'<tr bgcolor="#f5f9fc">\n\t\t\t<td valign="top" style="text-align:left;"><a href="/search/sites/ABB1836.asp">ABB</a></td>\n\t\t\t<td nowrap valign="top">+1 713 243 7160</td>\n\t\t\t<td valign="top" style="text-align:left;"><a href="http://www.abb.com" target="_blank">www.abb.com</a></td>\t\t\n\t\t</tr>'

我需要知道公司名称、电话和网址。我正在尝试以下代码:

row.xpath(".//td[1]").extract()

是的,没关系,我们可以从下面得到:

[u'<td valign="top" style="text-align:left;"><a href="/search/sites/ABB1836.asp">ABB</a></td>']

它仍然不是我想要的文本,但是当我尝试添加代码text()时,我什么也得不到。你知道吗

row.xpath(".//td[1]/text()").extract()

它只返回空值:

[]

有人能告诉我原因吗?我怎样才能解决这个问题?你知道吗


Tags: textsearchstyletoplefttrsitestd
2条回答

公司名称、电话和网站的所有三个字段,即文本ABB、713 243 7160和www.abb.com位于三个不同父节点的三个不同子节点中。要提取文本,可以使用以下解决方案:

  • ABB

    row.xpath(".//td[1]/a/text()").extract()
    
  • +1 713 243 7160

    row.xpath(".//td[2]/a/text()").extract()
    
  • www.abb.com

    row.xpath(".//td[3]/a/text()").extract()
    

试试看

//tr/td[1]/a/text() // for Company Name
//tr/td[2]/text() // Telephone
//tr/td[3]/a/text() // Website

相关问题 更多 >

    热门问题