python編寫網絡爬蟲

 一,利用網絡爬蟲來下載韓寒博客文章,主要須要用到如下知識要點:html

1,簡要了解HTML標記語言,熟悉HTTP協議,發現HTML規律python

2,熟悉urllib模塊網絡

3,熟悉pythonide

在此我利用的是ie8的開發者工具,固然也能夠使用比較出名的firebug,這是火狐的一個插件,十分好用。工具

中心思想:獲取URL連接,而後利用文件的讀寫存到本地。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

 

(完)htm

相關文章
相關標籤/搜索