您的位置:首页 > 理论基础 > 计算机网络

python编写网络爬虫

2014-10-22 21:31 344 查看
一,利用网络爬虫来下载韩寒博客文章,主要需要用到以下知识要点:
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'

#下面就是用爬虫下下来的文章。




(完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 网络爬虫