一,利用网络爬虫来下载韩寒博客文章,主要需要用到以下知识要点:
1,简要了解HTML标记语言,熟悉HTTP协议,发现HTML规律
2,熟悉urllib模块
3,熟悉python
在此我利用的是ie8的开发者工具,当然也可以使用比较出名的firebug,这是火狐的一个插件,十分好用。
中心思想:获取URL链接,然后利用文件的读写存到本地。
第一篇:下载单篇文章:
#coding:utf-8 import urllib str0 = '<a title="《论电影的七个元素》――关于我对电影的一些看法以及《后会无期》的一些消息" href="http://blog.sina.com.cn/s/blog_4701280b0102eo83.html" target="_blank">' title = str0.find(r'<a title') print title href = str0.find(r'href=') print href html = str0.find(r'.html') print html url = str0[href+6:html+5] print url request = urllib.urlopen(url).read() #print request filename = url[-26:] open(filename,'w').write(request) 第二篇:下载第一页的总共50篇文章 #! /usr/bin/env python #coding=utf-8 import urllib url = ['']*50 i = 0 stt = 'http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html' str1 = urllib.urlopen(stt).read() title = str1.find(r'<a title') #print title href = str1.find(r'href=',title) #print href html = str1.find(r'.html',href) #print html while title!=-1 and href != -1 and html != -1 and i < 50: url[i] = str1[href + 6:html + 5] print url[i] title = str1.find(r'<a title',html) # print title href = str1.find(r'href=',title) # print href html = str1.find(r'.html',href) # print html # url = str1[href + 6:html + 5] #有这句的话是不可以的 # print url i += 1 else: print 'find end' i = 0 while i < 50: con = urllib.urlopen(url[i]).read() open(url[i][-26:],'w+').write(con) #这里涉及到相对路径的问题,我的2.py就在文件夹hanhan下,所以直接写文件名。 print 'downloading:', url[i] i += 1 else: print 'all find end' #下面就是用爬虫下下来的文章。
(完)