python - 怎么用pyquery把一些蹩脚的HTML代码中的信息提出来?

查看:122
本文介绍了python - 怎么用pyquery把一些蹩脚的HTML代码中的信息提出来?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

用python的pyquery库,怎么把以下HTML代码中的用户名,姓名,性别,文化程度,证件类型,证件号码等提取出来?

from pyquery import PyQuery as pq
content='''...............'''#下面的HTML
info=pq(content)
info("#uname").text()#这是姓名
info("#papersNo").text()#这是身份证号
#但是其它的不会了,例如性别,文化程度,证件类型...

以下是HTML

<table class="infotable"  cellpadding="0" cellspacing="0" width="95%"> 
                <tr>
                    <td width="100%" height="19px" style="font-size:1px;" colspan="3">&nbsp;</td>
                </tr>
                <tr class="infotabletr">
                    <td  width="40%;" align="right">用户名</td>
                    <td width="8px;">&nbsp;</td>
                    <td   align="left" width="58%;">
                        <span style="margin-left: 8px;"> admin</span>
                    </td>
                </tr>
                <tr class="infotabletr">
                    <td align="right">姓名</td>
                    <td >&nbsp;</td>
                    <td align="left">
                            
                                <span style="margin-left: 8px;" id="uname" onmouseover="showtitle(this);">
                                    admin
                                </span>
                            
                            
                        </td>
                </tr>
            
                    
                        <tr class="infotabletr3" >
                        <td  align="right">性别</td>
                        <td>&nbsp;</td>
                        <td class="" align="left">
                            
                                <span style="margin-left: 10px; ">
                                    男
                                </span>
                            
                            
                        </td>
                        </tr>
                        
                    
                    <tr class="infotabletr3" >
                            <td align="right">文化程度</td>
                            <td>&nbsp;</td>
                            <td class="" align="left">
                            
                                <span style="margin-left: 10px; ">
                                    硕士学位
                                </span>
                            
                            
                        </td>
                    </tr>
                    
                    
                        <tr class="infotabletr3" >
                            <td  align="right">证件类型</td>
                            <td>&nbsp;</td>
                            <td class="" align="left">
                            
                                <span style="margin-left: 10px;">
                                    身份证
                                </span>
                            
                            
                        </td>
                    </tr>    
                    
                    
                            <tr class="infotabletr">
                            <td class="" align="right">证件号码</td>
                            <td>&nbsp;</td>
                            <td class="infotabletd4" align="left">
                            
                                <span style="margin-left: 10px;"   id="papersNo" onmouseover="showtitle(this);">
                                    6666666666
                                </span>
                            
                            
                        </td>
                        </tr>
                    
                        
                            <tr class="infotabletr">
                            <td class="" align="right">电话号码</td>
                            <td>&nbsp;</td>
                            <td class="infotabletd4" align="left">
                            
                                <span style="margin-left: 10px; ">
                                    
                                </span>
                            
                            
                        </td>
                        </tr>
                    
                    
                        <tr class="infotabletr">
                            <td class="" align="right">移动电话</td>
                            <td>&nbsp;</td>
                            <td class="infotabletd4" align="left">
                            
                                <span style="margin-left: 10px;">
                                    
                                </span>
                            
                            
                        </td>
                    
                    
                        <tr class="infotabletr">
                            <td class="" align="right">住址</td>
                            <td>&nbsp;</td>
                            <td class="infotabletd4" align="left">
                            
                                <span style="margin-left: 10px; " id="userAddresss" onmouseover="showtitle(this);">
                                    
                                </span>
                            
                            
                        </td>
                    </tr>
                
                    
                        <tr class="infotabletr">
                            <td class="" align="right">邮政编码</td>
                            <td>&nbsp;</td>
                            <td class="infotabletd4" align="left">
                            
                                <span style="margin-left: 10px; ">
                                    
                                </span>
                            
                            
                        </td>
                    </tr>
                    
                
                    <tr class="infotabletr">
                        <td class="" align="right">邮箱地址</td>
                        <td>&nbsp;</td>
                        <td class="infotabletd4" align="left">
                            
                                <span style="margin-left: 10px; " id="userEmails" onmouseover="showtitle(this);">
                                    
                                </span>
                            
                            
                        </td>
                    </tr>
                
                
                
                
                
                
        
                
            </table>

解决方案

info('.infotabletr3').text()

#区别开来就是
for _ in info('.infotabletr3'):
    print pq(_).text()

这篇关于python - 怎么用pyquery把一些蹩脚的HTML代码中的信息提出来?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆