python_爬取博客内容

# -*- coding: utf-8 -*-
__author__ = 'YangShengjie'
import urllib
url = "http://blog.sina.com.cn/s/blog_4701280b0100h3c8.html"#下载文章:前扑后继
#之所以选择这篇文章是因为其网页结构的特殊性,中间嵌套了视频
conn = urllib.urlopen(url).read() #读取网页
#print conn
s1 = conn.find(r'<div id="sina_keyword_ad_area2') #将文章内容所在区域化块
t1 = conn.find(r'</div>',s1) #运用相对位置
conn1 = conn[s1:t1]
#print conn1
s = conn1.find(r'<p STYLE') #缩小文章内容所在区域,在上一个获取的文章块内再次化快
t = conn1.find(r'</P>',s)
conn2= conn1[s +29 :t]  #获取首段内容,其结构较特殊,不能加入循环
#print conn2
content = " "
while s !=-1 and t !=-1: # 控制爬取的范围
    content = content +'\n'+ conn2  #将文章连在一块,每一段之间用换行标示
    s = conn1.find(r'<p STYLE',t)
    t = conn1.find(r'</P>',s)
    conn2= conn1[s+45:t]  #不同于首段的29
else:
   print content #输出文章内容
#下载文章
filename = url[26:]
open(filename,'w').write(content)


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值