如何使用selenuim解析列值及其href

时间:2019-10-08 16:58:16

标签: python selenium selenium-webdriver

im new with selenium和分析网站中的数据。 问题是:我的网站表带有这样的HTML代码:

<table width="580" cellspacing="1" cellpadding="3" bgcolor="#ffffff" id="restab">
 <tbody>
   <tr align="center" valign="middle">
     <td width="40" bgcolor="#555555"><font color="#ffffff">№</font></td>
     <td width="350" bgcolor="#555555"><font color="#ffffff">Название организации</font></td>
     <td width="100" bgcolor="#555555"><font color="#ffffff">Город</font></td>
     <td width="60" bgcolor="#555555"><span title="Число публикаций данной организации на eLibrary.Ru"><font color="#ffffff">Публ.</font></span></td><td width="30" bgcolor="#555555"><span title="Число ссылок на публикации организации"><font color="#ffffff">Цит.</font></span></td>
   </tr>
   <tr valign="middle" bgcolor="#f5f5f5" id="a18098">
     <td align="center"><font color="#00008f">1</font></td>
     <td align="left"><font color="#00008f"><a href="org_about.asp?orgsid=18098">
"Академия информатизации образования" по Ленинградской области</a></font></td> 
     <td align="center"><font color="#00008f">Гатчина</font></td>
     <td align="right"><font color="#00008f">0<img src="/pic/1pix.gif" hspace="16"></font></td>
     <td align="center"><font color="#00008f">0</font></td>
   </tr>
   <tr valign="middle" bgcolor="#f5f5f5" id="a17954">
     <td align="center"><font color="#00008f">2</font></td>
     <td align="left"><font color="#00008f"><a href="org_about.asp?orgsid=17954">
"Академия талантов" Санкт-Петербурга</a></font></td> 
     <td align="center"><font color="#00008f">Санкт-Петербург</font></td>
     <td align="right"><font color="#00008f"><a href="org_items.asp?orgsid=17954" title="Список статей данной организации на eLibrary.Ru">3</a><a href="org_profile.asp?id=17954" title="Анализ публикационной активности организации"><img src="/pic/stat.gif" width="12" height="13" hspace="10" border="0"></a></font></td>
     <td align="center"><font color="#00008f">0</font></td>
   </tr>
 </tbody>
</table>

我需要获取所有这些表值以及左td中每个值的href

我尝试使用Xpath,但它写了一些错误,如何做得更好? 总之,我需要获得dataframe的表值+左栏href的额外列

1 个答案:

答案 0 :(得分:0)

首先尝试使用pandas.read_html()。请参见下面的代码示例。

如果这不起作用,请在Mozilla Firefox(检查元素)或Google Chrome(开发人员工具)等浏览器上使用使用右键菜单来查找CSS或Xpath。然后将CSS或Xpath馈入Selenium。

Inspector Gadget浏览器插件是另一个用于查找复杂CSS / Xpath的有用工具。

grouped_counts = df.groupby(['A', 'B'])['Form Type'].value_counts().rename_axis(['A', 'B', 'Form Type']).reset_index(name='counts')

   A    B Form Type  counts
 bar  one         D       2
 bar  two         D       1
 bar  two       S-1       1
 foo  one       144       1
 foo  one         D       1
 foo  one       D/A       1
 foo  two       144       1
 foo  two         D       1

grouped_counts_stats = grouped_counts.groupby(['A', 'B', 'Form Type'])['counts'].agg(['mean', 'median', 'sum'])