python爬虫代码简化1

来源:互联网 发布:阿里云域名备案 编辑:程序博客网 时间:2024/06/07 02:04

一步步的添加爬虫功能,慢慢的也会发现一些代码可以简化。所以贴出来跟之前的做对比。代码如下:

@_@把之前的url链接筛选写了一个函数,这样主程序就非常简洁了。还去掉了之前定义的一些不必要的变量。目标驱动,然后多动手真的感觉非常棒~

# -*- coding: UTF-8 -*-  import urllibimport re#定义获取目标网页函数def getHtml(url):    page = urllib.urlopen(url)    html = page.read()    return html#定义获取url的函数def getUrl(html):    reg = r'href="(.+?)"'    urlre = re.compile(reg)    urllist = re.findall(urlre,html)    return urllist#定义url筛选函数def selUrl(gurl):    s = list(set(gurl))    #set去重复url        fw = ''    for i in range(len(s)) :        fp = open('test.txt','w')        #判断url是否含有http....头部,没有的加上        if "/"in s[i]:            if "http" in s[i]:                fw += (s[i]+'\n')                fp.write(fw)            else:                fw += ("http://www.scyongdong.com" +s[i] + '\n' )                fp.write(fw)                if __name__=='__main__':        html = getHtml("http://www.scyongdong.com")        gurl = getUrl(html)    selUrl(gurl)        #输出txt    fp = open('test.txt','r')    print fp.read()    fp.close()


0 0