» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 18 12
发新话题
打印

求个批量HTML提取指定class内容的方法

posted by wap, platform: iPhone

免费软件还是脚本,什么都行...


TOP

posted by wap, platform: iPhone

提取的内容是  <td class="post-body>  </td> 里面的内容



TOP

posted by wap, platform: Chrome

用javascript还是其他脚本语言?


TOP

小说提取正文?

TOP

posted by wap, platform: GOOGLE (Nexus 4)

写个程序弄很快的吧

TOP

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>"""

TOP

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' 的全部内容

TOP

posted by wap, platform: iPhone
引用:
原帖由 @黑暗骑士巫妖王  于 2013-4-28 15:53 发表
posted by wap, platform: Nexus 7

python+BeautifulSoup干这个是神器,只要几行代码就搞定了。下面附上以前用抓新浪微博的:

# * coding:UTF8 *

import urllib2
from BeautifulSoup import BeautifulSoup
...
能弄成批量导入本地html的么?

TOP

posted by wap, platform: Nexus 7

批量导入很简单啊,python操作几行就搞定,甚至你自己编个批处理都很简单

TOP

正则表达式在向你微笑

TOP

python和正则表示式向你微笑

TOP

posted by wap, platform: Nexus 7

正则表达式早就过时了,你有写正则表达式的时间,各种HTML、XML解析库早就搞定啦,处理这类玩意还是专业的库更可靠

TOP

引用:
原帖由 黑暗骑士巫妖王 于 2013-4-28 17:26 发表
posted by wap, platform: Nexus 7

正则表达式早就过时了,你有写正则表达式的时间,各种HTML、XML解析库早就搞定啦,处理这类玩意还是专业的库更可靠
+1
java可以用jsoup,挺简单的。
Connection c = Jsoup.connect(“xxxx”);
Document doc = c.get();
Elements ele = doc.select("td[class=post-body]");
for (Element element : ele) {
      String txt= element.text();
}
其它语言肯定也有类似的库。

TOP

posted by wap, platform: Android

复制到word里面。。。
用通配符

TOP

posted by wap, platform: Chrome

我说一个偏门一点的,用AJAX请求你这个要解析的这个HTML文件到浏览器,去掉不必要的标签后插入页面,然后操作JS用DOM提取再发送给后台存储。

TOP

 18 12
发新话题
     
官方公众号及微博