python 노트 추출 웹 페이지 의 하이퍼링크

1189 단어
python 노트 추출 웹 페이지 의 하이퍼링크
	           ,          ,   beautifulsoup         。         ,      a   href,    javascript:xxx #xxx   ,            。
#!/usr/bin/env python
#coding: utf-8
from bs4 import BeautifulSoup
import urllib
import urllib2
import sys
reload(sys)
sys.setdefaultencoding("utf-8")

#       url
url = 'http://www.ruanyifeng.com/blog/2015/05/co.html'

def findAllLink(url):
    '''
             
    '''
    #     ,  
    proto, rest = urllib.splittype(url)
    domain = urllib.splithost(rest)[0]
    
    #       
    html = urllib2.urlopen(url).read()
    
    #      
    a = BeautifulSoup(html).findAll('a')
    
    #   
    alist = [i.attrs['href'] for i in a if i.attrs['href'][0] != 'j']
    #    #comment-text      http://www.ruanyifeng.com/blog/2015/05/co.html,   /feed.html   http://www.ruanyifeng.com/feed.html
    alist = map(lambda i: proto + '://' + domain + i if i[0] == '/' else url + i if i[0] == '#' else i, alist)
    return alist

if __name__ == '__main__':
    for i in findAllLink(url):
        print i

좋은 웹페이지 즐겨찾기