zoukankan      html  css  js  c++  java
  • 用 python 做简单的网页爬虫程序

    今天看到一个网页,又因为在家里用电话线上网,一直在线阅读很麻烦。所以就写了个简单的程序把网页抓下来离线阅读,省点电话费:)
    这个程序因为主页面链接到的页面都在同一个目录下,结构很简单,只有一层。因此写了一些硬编码做链接地址的分析。
    代码如下:

    #!/usr/bin/env python
    #
     -*- coding: GBK -*-

    import urllib

    from sgmllib import SGMLParser

    class URLLister(SGMLParser):
        
    def reset(self):
            SGMLParser.reset(self)
            self.urls 
    = []
            
        
    def start_a(self, attrs):
            href 
    = [v for k, v in attrs if k == 'href']
            
    if href:
                self.urls.extend(href)
        
    url 
    = r'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJingShuoShenMo/'
    sock 
    = urllib.urlopen(url)
    htmlSource 
    = sock.read()
    sock.close()
    #print htmlSource
    = file('jingangjing.html''w')
    f.write(htmlSource)
    f.close()

    mypath 
    = r'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJingShuoShenMo/'

    parser 
    = URLLister()
    parser.feed(htmlSource)

    for url in parser.urls:
        myurl 
    = mypath + url
        
    print "get: " + myurl
        sock2 
    = urllib.urlopen(myurl)
        html2 
    = sock2.read()
        sock2.close()
        
        
    # 保存到文件
        print "save as: " + url
        f2 
    = file(url, 'w')
        f2.write(html2)
        f2.close()
        
        
  • 相关阅读:
    删除排序链表中的重复元素
    爬楼梯
    Sqrt(x)
    Add Binary
    fremarker导出word list
    url中文参数乱码问题
    取值范围
    动态添加echarts
    格式化数据保留两位小数,输入格式为 :xxx,xx,,,,x,,(x为浮点数)
    使用poi读取Excel文件数据
  • 原文地址:https://www.cnblogs.com/RChen/p/392275.html
Copyright © 2011-2022 走看看