»
首页
|
手机数码
|
汽车资讯
|
游戏硬件
|
评测专题
|
手机壁纸
|
海淘值得买
|
度假
|
求职招聘
|
广告联系
» 您尚未登录:请
登录
|
注册
|
标签
|
帮助
|
小黑屋
|
TGFC Lifestyle
»
完全数码讨论区
» 求个批量HTML提取指定class内容的方法
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
求个批量HTML提取指定class内容的方法
黑暗骑士巫妖王
小黑屋
帖子
5672
精华
0
积分
10251
激骚
403 度
爱车
主机
相机
手机
注册时间
2011-10-13
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2013-4-28 15:53
显示全部帖子
posted by wap, platform: Nexus 7
python+BeautifulSoup干这个是神器,只要几行代码就搞定了。下面附上以前用抓新浪微博的:
# -*- coding:UTF-8 -*-
import urllib2
from BeautifulSoup import BeautifulSoup
# 微博的地址
weiboUrl= "******"
htmlStr = urllib2.urlopen(weiboUrl)
soup = BeautifulSoup(htmlStr)
# 分析微博主头像
weiboFacePic = soup.find('div',{"class":"weiboShow_developer_pic"}).find("img"
weiboFacePic['class'] = "weiboFacePic"
# 分析每个微博内容单元
weiboUnit = soup.findAll('div',{"class":"weiboShow_mainFeed_listContent"})
for keyi in weiboUnit:
weiboUnitText = keyi.find('p',{"class":"weiboShow_mainFeed_listContent_txt"})
weiboUnitText['class'] = "weiboUnitText"
weiboUnitImg = keyi.find('img')
weiboUnitSendTime = keyi.find('span',{"class":"weiboShow_mainFeed_listContent_actionTime"})
weiboUnitSendTime['class'] = "weiboUnitSendTime"
for keyj in weiboUnitText:
print weiboFacePic
print "<div class='weiboContent'>","<a href='http://e.weibo.com/2179063294/app_738247391' target='_blank' style='color:#6EAFD5'>******</a>:"
print keyj,"</div>"
print weiboUnitImg
print "<div style='text-align:right;' class='weibotime'>",weiboUnitSendTime.contents,"</div>"
print """<div style="border-bottom:1px dotted #DFDFDF; height:10px; margin-bottom:11px;"></div>"""
UID
200989
帖子
5672
精华
0
积分
10251
交易积分
0
阅读权限
1
在线时间
6619 小时
注册时间
2011-10-13
最后登录
2025-7-2
查看详细资料
TOP
黑暗骑士巫妖王
小黑屋
帖子
5672
精华
0
积分
10251
激骚
403 度
爱车
主机
相机
手机
注册时间
2011-10-13
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2013-4-28 16:09
显示全部帖子
posted by wap, platform: Nexus 7
# -*- coding:UTF-8 -*-
import urllib2
from BeautifulSoup import BeautifulSoup
# 设定抓取的HTML的地址
htmlUrl= "http://www.cnbeta.com/" # 既然是测试就抓CNBETA吧
htmlStr = urllib2.urlopen(htmlUrl) # 读取网址的HTML内容
soup = BeautifulSoup(htmlStr) # 将HTML内容用BSoup解析,保存到soup变量中
# 分析每个微博内容单元
#htmlUnit = soup.findAll('td',{"class":"post-body"}) #把 class='post-body' 的 td提取出来
htmlUnit = soup.findAll('dt',{"class":"topic"}) # 这里就改成cnbeta上文章标题的class吧
for keyi in htmlUnit:
print keyi.contents # 加上.contents是只显示你指定标签内的内容,不加则显示包括dt class='topic' 的全部内容
UID
200989
帖子
5672
精华
0
积分
10251
交易积分
0
阅读权限
1
在线时间
6619 小时
注册时间
2011-10-13
最后登录
2025-7-2
查看详细资料
TOP
黑暗骑士巫妖王
小黑屋
帖子
5672
精华
0
积分
10251
激骚
403 度
爱车
主机
相机
手机
注册时间
2011-10-13
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2013-4-28 16:20
显示全部帖子
posted by wap, platform: Nexus 7
批量导入很简单啊,python操作几行就搞定,甚至你自己编个批处理都很简单
UID
200989
帖子
5672
精华
0
积分
10251
交易积分
0
阅读权限
1
在线时间
6619 小时
注册时间
2011-10-13
最后登录
2025-7-2
查看详细资料
TOP
黑暗骑士巫妖王
小黑屋
帖子
5672
精华
0
积分
10251
激骚
403 度
爱车
主机
相机
手机
注册时间
2011-10-13
发短消息
加为好友
当前离线
4
#
大
中
小
发表于 2013-4-28 17:26
显示全部帖子
posted by wap, platform: Nexus 7
正则表达式早就过时了,你有写正则表达式的时间,各种HTML、XML解析库早就搞定啦,处理这类玩意还是专业的库更可靠
UID
200989
帖子
5672
精华
0
积分
10251
交易积分
0
阅读权限
1
在线时间
6619 小时
注册时间
2011-10-13
最后登录
2025-7-2
查看详细资料
TOP
控制面板首页
密码修改
积分交易
积分记录
公众用户组
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计