文章詳情頁
xpath - python怎么用lxml處理
瀏覽:89日期:2022-09-22 09:54:52
問題描述
例如:
<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節點之后,怎么把里面的內容轉換為字符串
問題解答
回答1:今天偶然學到處理這個問題的方法,特意翻出來這個問題回答。題主你可以看一下xpath的軸,比如你要取得第二個<p>標簽的“沒aa沒aa”,實際是取得它全部后代節點的文本內容,可以使用element_dom.xpath('//p[2]//descendant::text()')來取得,拿到的結果是一個這樣[’沒’, ’aa’, ’沒’, ’aa’]的list,然后自己手動拼接成字符串就可以了,比如''.join(list)。同理,如果你需要進行其他操作,也可以使用類似的方法。
回答2:換bs4,string和text之間的異同就在這里。
回答3:lxml.html的.text_content()方法,可以獲取當前節點和所有子節點的文本內容。
相關文章:
1. 前端 - html5 audio不能播放2. java固定鍵值轉換,使用枚舉實現字典?3. vim - win10無法打開markdown編輯器4. mysql - 千萬數據 分頁,當偏移量 原來越大時,怎么優化速度5. 如何解決tp6在zend中無代碼提示6. javascript - 有沒有類似高鐵管家的時間選擇插件7. 這是什么情況???8. python - flask學習,user_syy添加報role is invalid keyword for User.9. css - BEM 中塊(Block)有木有什么標準 何時決定一個部分提取為塊而不是其父級的元素呢(Element)?~10. javascript - 微信網頁開發從菜單進入頁面后,按返回鍵沒有關閉瀏覽器而是刷新當前頁面,求解決?
排行榜
