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. 网页部分源代码
>
>
>
>
> 成交日期
> 成交价
> 单价
>
> 户型
>
> 建筑面积
> 楼层
> 朝向
> 服务经纪人
> 来源
>
>
>
>
>
>
> 2016-07-26
> 197万
> 19777元/㎡
> 2室2厅
> 100㎡
> 高层/32层
> 南向
> 计谋
> 房天下成交
>
>
>
> 2016-05-27
> 200万
> 20078元/㎡
> 2室2厅
> 100㎡
> 高层/32层
> 西南向
> 杜小波
> 房天下成交
>
>
>
> 2016-05-10
> 286万
> 22236元/㎡
> 3室2厅
> 129㎡
> 高层/31层
> 南向
> 计谋
> 房天下成交
>
>
>
> 2016-04-04
> 182万
> 18336元/㎡
> 2室2厅
> 99㎡
> 高层/32层
> --
> 李方宏
> 房天下成交
>
>
>
> 2016-03-20
> 185万
> 18587元/㎡
> 2室1厅
> 100㎡
> 低层/32层
> --
> 张巧芊
> 房天下成交
>
>
>
> 2016-02-28
> 335万
> 18376元/㎡
> 4室2厅
> 182㎡
> 高层/32层
> 南北向
> 陈三元
> 房天下成交
>
>
>
> 2016-01-04
> 328万
> 19197元/㎡
> 4室2厅
> 171㎡
> 中层/32层
> 南北向
> 刘媛媛
> 房天下成交
>
>
>
> 2015-12-09
> 168.5万
> 16962元/㎡
> 2室2厅
> 99㎡
> 高层/32层
> --
> 陈三元
> 房天下成交
>
>
>
> 2015-08-10
> 186万
> 15067元/㎡
> 3室2厅
> 123㎡
> 高层/32层
> --
> 谭文龙
> 房天下成交
>
>
>
> 2015-07-10
> 215万
> 16716元/㎡
> 3室2厅
> 129㎡
> 中层/32层
> 东西向
> 左亚凤
> 房天下成交
>
>
>
>
>
>
>
4.运行结果
C:\Python27\python.exe D:/Users/Brill/PycharmProjects/FangSpider/FTXData/test.py
成交日期
成交价
单价
户型
建筑面积
楼层
朝向
服务经纪人
来源
2016-07-26
197万
19777元/㎡
2室2厅
100㎡
高层/32层
南向
计谋
房天下成交
2016-05-27
200万
20078元/㎡
2室2厅
100㎡
高层/32层
西南向
杜小波
Process finished with exit code 0
5. 结果截图

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
原因是因为这个html的文件是不规范的html 导致不同的html parser对他的结果不一样 可以考虑换parser
soup = BeautifulSoup(text, 'html.parser')结果是成功的