使用python和selenium进行Web抓取

时间:2015-06-10 04:09:15

标签: python selenium web-scraping data-extraction

我正在尝试使用python和selenium从这个问题的网站中提取数据:

  <table> 
     <tbody>
         <tr> 
            <td> text </td>
            <td>
               <td> text </td>
            </td> 
            <td> 
               <td> text </td>
            </td>
          <tr>  
            <td> text </td>
            <td>
               <td> text </td>
            </td> 
            <td> 
               <td> text </td>
            </td>

这是我使用selenium进行数据提取的代码:

data=[]
        for tr in driver.find_elements_by_xpath('//table[@id="pinnedtablepositionsTable"]//tr'):
            tds =tr.find_elements_by_tag_name('td')
        if tds: 
                 data.append([td.text for td in tds])

打印(数据)

当我打印数据时,我只是网站中每行的第一列。网站上的表格是在行彼此嵌套的情况下构建的。有没有人曾经处理过这种格式的网站。我对除硒之外的其他刮刀开放我只是想将其用于自动化目的。

1 个答案:

答案 0 :(得分:0)

我认为缩进对您的程序来说是错误的,应该是 -

data=[]
for tr in driver.find_elements_by_xpath('//table[@id="pinnedtablepositionsTable"]//tr'):
    tds =tr.find_elements_by_tag_name('td')
    if tds: 
        data.append([td.text for td in tds])