Python网络爬虫实战笔记③如何下载韩寒博客文章
Python网络爬虫实战笔记③如何下载韩寒博客文章
target:下载全部的文章
1. 博客列表页面规则
也就是, http://blog.sina.com.cn/s/articlelist_1191258123_0_*.html
- 字符串的连接:
但是字符串和整型变量不能连接在一起
这个时候可以用str()
函数
再回到题目上来, http://blog.sina.com.cn/s/articlelist_1191258123_0_*.html
中的*得用page来替换
page=1
con=urllib.urlopen('http://blog.sina.com.cn/s/articlelist_1191258123_0_'+str(page)+'.html').read()
结合一下以前的代码,实现所有文章的下载
#coding:utf-8
import urllib
import time
url=['']*350
page=1
link=1
while page<=7:
con=urllib.urlopen('http://blog.sina.com.cn/s/articlelist_1191258123_0_'+str(page)+'.html').read()
i=0
title=con.find(r'<a title')
href=con.find(r'href=',title)
html=con.find(r'.html',href)
while title !=-1 and href !=-1 and html !=-1 and i < 350:
url[i]=con[href+6:html+5]
print link,' ',url[i]
title=con.find(r'<a title',html)
href=con.find(r'href=',title)
html=con.find(r'.html',href)
i=i+1
link=link+1
else:
print 'page',page,'find end'
page=page+1
else:
print 'all find end'
j=0
while j<350:
content =urllib.urlopen(url[j]).read()
open(r'hanhan/'+url[j][-26:],'w+').write(content)
print 'downloading',url[j]
j=j+1
time.sleep(15)
else:
print 'download article finished'
这样就能把全部的文章都下载下来~