python编写网络爬虫

 一,利用网络爬虫来下载韩寒博客文章,主要需要用到以下知识要点:

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'
   
#下面就是用爬虫下下来的文章。

wKiom1RHrniQrBsYAAQzr5QxkMU305.jpg

 

(完)

你可能感兴趣的:(python,网络爬虫)