spider-抓取网页内容

 使用urllib2抓取网页内容:

import urllib2
from HTMLParser import HTMLParser
request = urllib2.Request('http://www.baidu.com')
response = urllib2.urlopen(request).read()
print response

 

使用HTMLParser处理网页内容:

from HTMLParser import HTMLParser
class hp(HTMLParser):  
    a_text = False  
    def handle_decl(self,decl):
        #print decl
        pass

    def handle_comment(self,comment):
        #print comment
        pass

    #抓取所有的超链接http://开头的
    def handle_starttag(self,tag,attrs):  
        if tag == 'a':  
            self.a_text = True  
            #print tag,attrs
            for h,v in attrs:
                if h == 'href' and len(v) >6:
                    #pass
                    pt = r'http://\S+'
                    cp = re.compile(pt)
                    vr = cp.match(v)
                    if vr:
                        print vr.group()     

    def handle_endtag(self,tag):  
        if tag == 'a':  
            self.a_text = False  

    def handle_data(self,data):  
        if self.a_text:  
            #print (data)
            pass  

    def handle_startendtag(self,tag,attrs):
        if tag == 'link':
            print attrs
            for h,v in attrs:
                if h == 'href':
                    #print v
                    pass

yk = hp()
yk.feed(con)
yk.close()

 

 

 

  HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。HTMLParser采用的是一种事件驱动的模式,当HTMLParser找到一个特定的标记时,它会去调用一个用户定义的函数,以此来通知程序处理。它主要的用户回调函数的命名都是以handler_开头的,都是HTMLParser的成员函数。当我们使用时,就从HTMLParser派生出新的类,然后重新定义这几个以handler_开头的函数即可。这几个函数包括:

handle_startendtag  处理开始标签和结束标签
handle_starttag     处理开始标签,比如<xx>
handle_endtag       处理结束标签,比如</xx>
handle_charref      处理特殊字符串,就是以&#开头的,一般是内码表示的字符
handle_entityref    处理一些特殊字符,以&开头的,比如 &nbsp;
handle_data         处理数据,就是<xx>data</xx>中间的那些数据
handle_comment      处理注释
handle_decl         处理<!开头的,比如<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
handle_pi           处理形如<?instruction>的东西

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网页抓取工具5.1可以抓取互联网、wap网站上的任何网页,包括需要登录后才能访问的页面。对抓取到页面内容进行解析,得到结构化的信息,比如:新闻标题、作者、来源、正文等。支持列表页的自动翻页抓取,支持正文页多页合并,支持图片、文件的抓取,可以抓取静态网页,也可以抓取带参数的动态网页,功能极其强大。 用户指定要抓取的网站、抓取网页类型(固定页面、分页显示的页面等等),并配置如何解析数据项(如新闻标题、作者、来源、正文等),系统可以根据配置信息自动实时抓取数据,启动抓取的时间也可以通过配置设定,真正做到“按需抓取,一次配置,永久抓取”。抓来的数据可以保存到数据库中。支持当前主流数据库,包括:Oracle、SQL Server、MySQL等。 本工具完全可以替代传统的编辑手工处理信息的模式,能够实时、准确、一天24*60不间断为企业提供最新资讯和情报,真正能为企业降低成本,提高竞争力。 本工具主要特点如下: *适用范围广,可以抓取任何网页(包括登录后才能访问的网页) *处理速度快,如果网络畅通,1小时可以抓取、解析10000个网页 *采用独特的重复数据过滤技术,支持增量式数据抓取,可以抓取实时数据,如:股票交易信息、天气预报等 *抓取信息的准确性高,系统提供了强大的数据校验功能,保证了数据的正确性 *支持断点续抓,在当机或出现异常情况后可以恢复抓取,继续后续的抓取工作,提高了系统的抓取效率 *对于列表页,支持翻页,可以抓取到所有列表页中的数据。对于正文页,可以对分页显示的内容自动进行合并; *支持页面深度抓取,页面间可以一级一级地抓下去。比如,通过列表页抓取到正文页URL,然后再抓取正文页。各级页面可以分别入库; *WEB操作界面,一处安装,随处使用 *分步解析,分步入库 *一次配置,永久抓取,一劳永逸
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值