#coding=utf-8 #新浪博客 import urllib import re import os url=[‘‘]*1500 #每一骗博客的地址 title=[‘‘]*1500 #每一篇博客的标题 page=1 #博客分页 count=1 #文章计数 while page<=9: con=urllib.urlopen(‘http://blog.sina.com.cn/s/articlelist_1193491727_0_‘+str(page)+‘.html‘).read() i=0 hrefstart=con.find(r‘href="http://blog.sina.com.cn/s/blog_‘) print hrefstart hrefend=con.find(r‘.html‘,hrefstart) print hrefend titlestart=con.find(r‘>‘,hrefend) print titlestart titleend=con.find(r‘</a>‘,titlestart) print titleend while i<=50 and titleend!=-1 and hrefend!=-1: url[i]=con[hrefstart+6:hrefend+5] title[i]=con[titlestart:titleend] print page,i,count, title[i] print url[i] hrefstart=con.find(r‘href="http://blog.sina.com.cn/s/blog_‘,titleend) hrefend=con.find(r‘.html‘,hrefstart) titlestart=con.find(r‘>‘,hrefend) titleend=con.find(r‘</a>‘,titlestart) content=urllib.urlopen(url[i]).read() filename=url[i][-26:] print filename if not os.path.isdir("1"): os.mkdir("1") target=open(‘1/‘+filename,‘w‘) target.write(content) i=i+1 count=count+1 else: print page,‘本页查找到结尾了‘ page=page+1 else: print‘本次任务结束了‘
用python2.7,采集新浪博客,王石的博客文章。
实现了文章列表多页采集,实现了下载到本地。
练手之做,如果有更好的代码,也分享一些给我
欢迎交流
还有几点未作:
1、利用正则实现提取每一页的文章内容。
2、目录按照下载时间自动命名
时间: 2024-10-05 21:37:22