BeautifulSoup获取的tag不完整。

新手上路,请多包涵

1.问题描述
通过urllib2.urlopen().read()打印出的html源码中tbody有多对tr标签,但是使用soup.findAll("tbody")获取的tr标签就只有两对,而且内容不全,希望大神帮助。

2. 源代码:

# -*- coding: UTF-8 –*-
import urllib2
from bs4 import BeautifulSoup

Url = 'http://guojijuzhuqufh.fang.com/chengjiao/'

response = urllib2.urlopen(Url)
text = response.read().decode('gbk')
soup = BeautifulSoup(text, "lxml")
tbodyList = soup.findAll("tbody")

for li in tbodyList:
    print li

3. 网页部分源代码

> <table>
>                             <tbody>
>                                 
>                                 <tr>
>                                     <th>成交日期</th>
>                                     <th>成交价</th>
>                                     <th>单价</th>
>                                     
>                                     <th>户型</th>
>                                     
>                                     <th>建筑面积</th>
>                                     <th>楼层</th>
>                                     <th>朝向</th>
>                                     <th>服务经纪人</th>
>                                     <th>来源</th>
>                                 </tr>
>                                 
> 
>                                 <!--出售成交记录-->
>                                 
>                                         <tr>
>                                             <td>2016-07-26</td>
>                                             <td>197万</td>
>                                             <td>19777元/㎡</td>
>                                             <td>2室2厅</td>
>                                             <td>100㎡</td>
>                                             <td>高层/32层</td>
>                                             <td>南向</td>
>                                             <td>计谋</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2016-05-27</td>
>                                             <td>200万</td>
>                                             <td>20078元/㎡</td>
>                                             <td>2室2厅</td>
>                                             <td>100㎡</td>
>                                             <td>高层/32层</td>
>                                             <td>西南向</td>
>                                             <td>杜小波</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2016-05-10</td>
>                                             <td>286万</td>
>                                             <td>22236元/㎡</td>
>                                             <td>3室2厅</td>
>                                             <td>129㎡</td>
>                                             <td>高层/31层</td>
>                                             <td>南向</td>
>                                             <td>计谋</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2016-04-04</td>
>                                             <td>182万</td>
>                                             <td>18336元/㎡</td>
>                                             <td>2室2厅</td>
>                                             <td>99㎡</td>
>                                             <td>高层/32层</td>
>                                             <td>--</td>
>                                             <td>李方宏</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2016-03-20</td>
>                                             <td>185万</td>
>                                             <td>18587元/㎡</td>
>                                             <td>2室1厅</td>
>                                             <td>100㎡</td>
>                                             <td>低层/32层</td>
>                                             <td>--</td>
>                                             <td>张巧芊</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2016-02-28</td>
>                                             <td>335万</td>
>                                             <td>18376元/㎡</td>
>                                             <td>4室2厅</td>
>                                             <td>182㎡</td>
>                                             <td>高层/32层</td>
>                                             <td>南北向</td>
>                                             <td>陈三元</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2016-01-04</td>
>                                             <td>328万</td>
>                                             <td>19197元/㎡</td>
>                                             <td>4室2厅</td>
>                                             <td>171㎡</td>
>                                             <td>中层/32层</td>
>                                             <td>南北向</td>
>                                             <td>刘媛媛</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2015-12-09</td>
>                                             <td>168.5万</td>
>                                             <td>16962元/㎡</td>
>                                             <td>2室2厅</td>
>                                             <td>99㎡</td>
>                                             <td>高层/32层</td>
>                                             <td>--</td>
>                                             <td>陈三元</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2015-08-10</td>
>                                             <td>186万</td>
>                                             <td>15067元/㎡</td>
>                                             <td>3室2厅</td>
>                                             <td>123㎡</td>
>                                             <td>高层/32层</td>
>                                             <td>--</td>
>                                             <td>谭文龙</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
>                                         <tr>
>                                             <td>2015-07-10</td>
>                                             <td>215万</td>
>                                             <td>16716元/㎡</td>
>                                             <td>3室2厅</td>
>                                             <td>129㎡</td>
>                                             <td>中层/32层</td>
>                                             <td>东西向</td>
>                                             <td>左亚凤</td>
>                                             <td>房天下成交</td>
>                                         </tr>
>                                     
> 
>                                 <!--出租成交记录-->
>                                 
> 
>                             </tbody>

4.运行结果

C:\Python27\python.exe D:/Users/Brill/PycharmProjects/FangSpider/FTXData/test.py
<tbody>
<tr></tr>
</tbody>
<tbody>
<tr>
<th>成交日期</th>
<th>成交价</th>
<th>单价</th>
<th>户型</th>
<th>建筑面积</th>
<th>楼层</th>
<th>朝向</th>
<th>服务经纪人</th>
<th>来源</th>
</tr>
<!--出售成交记录-->
<tr>
<td>2016-07-26</td>
<td>197万</td>
<td>19777元/㎡</td>
<td>2室2厅</td>
<td>100㎡</td>
<td>高层/32层</td>
<td>南向</td>
<td>计谋</td>
<td>房天下成交</td>
</tr>
<tr>
<td>2016-05-27</td>
<td>200万</td>
<td>20078元/㎡</td>
<td>2室2厅</td>
<td>100㎡</td>
<td>高层/32层</td>
<td>西南向</td>
<td>杜小波</td>
</tr></tbody>

Process finished with exit code 0

5. 结果截图

clipboard.png

阅读 7k
1 个回答

原因是因为这个html的文件是不规范的html 导致不同的html parser对他的结果不一样 可以考虑换parser

soup = BeautifulSoup(text, 'html.parser')

结果是成功的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏