练练正则

#!user/bin/python
# coding: utf-8
from bs4 import BeautifulSoup
import urllib
import re


def get_html(url):

    req = urllib.urlopen(url).read()
    return req

def handle_html(html):

    reg1 = re.compile(r'<span class="atc_title">.*?</span>', re.S)
    reg2 = re.compile(r'<span class="atc_title">\s*<a title=".*" target="_blank" href="(?P<link>.*)">(?P<title>.*)</a></span>')
    list1 = re.findall(reg1, html)
    list2 = []
    for title in list1:
        n = re.search(reg2, title)
        print n.group('title') + '\t' + n.group('link')
        list2.append(n.group('link'))
    return list2



def load_html(result):

    count = 0
    for link in result:
        count += 1
        urllib.urlretrieve(link, 'D:\Documents\%s.html' % count)



if __name__ == '__main__':

    url = 'http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html'
    html = get_html(url)
    result = handle_html(html)
    load_html(result)






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值