xpath - python怎么用lxml处理
伊谢尔伦
伊谢尔伦 2017-04-18 10:19:05
0
3
1155

例如:

<p>
没
<em><!--red_beg-->aa<!--red_end--></em>
</p>
<p>
没
<em><!--red_beg-->aa<!--red_end--></em>
没
<em><!--red_beg-->aa<!--red_end--></em>
</p>
<p>
没
</p>

就是在p标签里可能会出现同样的em标签,而且数量不定,那我怎么获取p的内容,包括em里的内容。
例如第二个p获取输出是‘没aa没aa’

或者获取到p节点之后,怎么把里面的内容转换为字符串

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(3)
PHPzhong

오늘 우연히 이 문제를 해결하는 방법을 배웠기 때문에 이에 대한 답변을 위해 이 질문을 특별히 번역했습니다. 질문자님, xpath의 축을 보면 됩니다. 예를 들어, 두 번째 <p> 태그의 "no aa no aa"를 얻으려면 실제로는 모든 하위 노드 의 텍스트 콘텐츠를 얻고 싶을 것입니다. .
을 사용하여 얻을 수 있으며 결과는 element_dom.xpath("//p[2]//descendant::text()")과 같은 목록이며 수동으로 ['没', 'aa', '没', 'aa']과 같은 문자열로 연결할 수 있습니다. 마찬가지로, 다른 작업을 수행해야 하는 경우 유사한 방법을 사용할 수도 있습니다. "".join(list)

大家讲道理

bs4로 변경하면 문자열과 텍스트의 유사점과 차이점이 여기에 있습니다.

洪涛

lxml.html의 .text_content() 메소드는 현재 노드와 모든 하위 노드의 텍스트 내용을 가져올 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿