網路爬蟲(六):實戰

letflyFYF發表於2014-09-19

一、一個簡單的百度貼吧小爬蟲

上章我們知道了如何得到cookie、HTTP返回碼、表單的處理等,接下來我們用urllib2對百度貼吧進行實際簡單爬蟲操作

# -*- coding: utf-8 -*-   
import string, urllib2  

#定義百度函式  
def baidu_tieba(url,begin_page,end_page):     
    for i in range(begin_page, end_page+1):  
        sName = string.zfill(i,5) + '.html'#自動填充成六位的檔名  
        print '正在下載第' + str(i) + '個網頁,並將其儲存為' + sName + '......'  
        f = open(sName,'w+')  
        m = urllib2.urlopen(url + str(i)).read()  
        f.write(m)  
        f.close()  

#-------- 在這裡輸入引數 ------------------  

# 這個是山東大學的百度貼吧中某一個帖子的地址  
#bdurl = 'http://tieba.baidu.com/p/2296017831?pn='  
#iPostBegin = 1  
#iPostEnd = 10  

bdurl = str(raw_input(u'請輸入貼吧的地址,去掉pn=後面的數字:\n'))  
begin_page = int(raw_input(u'請輸入開始的頁數:\n'))  
end_page = int(raw_input(u'請輸入終點的頁數:\n'))  
#-------- 在這裡輸入引數 ------------------  

#呼叫  
baidu_tieba(bdurl,begin_page,end_page) 

執行結果:



二、爬蟲框架Scrapy

前面十章我們瞭解了一些簡單的python爬蟲知識,

用來解決簡單的貼吧下載,績點運算自然不在話下。

不過要想批量下載大量的內容,比如知乎的所有的問答,那便顯得遊刃不有餘了點。

於是乎,爬蟲框架Scrapy+Python,Scrach這個單詞是抓取的意思,

暫且可以叫它:小抓抓吧。

小抓抓的官網地址:點我點我

那麼下面來簡單的演示一下小抓抓Scrapy的安裝流程。

具體流程參照:官網教程

友情提醒:一定要按照Python的版本下載,要不然安裝的時候會提醒找不到Python。

下列windows下:

詳情請看原部落格

下列linux下:

1.安裝python

yum install python

2.安裝lxml

lxml是一種使用python編寫的庫,可以迅速、靈活的處理XML。點選這裡選擇對應的python版本安裝。

3.安裝setuptools

用來安裝egg檔案,點選這裡下載python2.7對應版本的setuptools。

4.安裝zope.interface

可以使用第三步下載的setuptools來安裝egg檔案,現在也有exe版本,點選這裡下載。

5.安裝Twisted

Twisted是用python實現的基於事件驅動的網路引擎框架,點選這裡下載。

6.安裝pyOpenSSL

pyOpenSSL是python的OpenSSL介面,點選這裡下載。

7.安裝win32py

提供win32api,點選這裡下載。

8.安裝Scrapy

終於到了幾動人心的時候了!安裝了那麼多小部件之後終於輪到主角登場。

直接在terminal中輸入easy_install scrapy回車即可。

9.檢查安裝

在終端中輸入import scrapy命令。得到下列頁面,表示環境配置成功。

python 安裝scrapy常見錯誤:

Fedora下:

一、致命錯誤:libxml/xmlversion.h:沒有那個檔案或目錄yum install libxml2-devel

ln -s /usr/include/libxml2/libxml   /usr/include/libxml

二、致命錯誤:libxslt/xsltconfig.h:沒有那個檔案或目錄

yum install libxslt-devel

Ubuntu下:

一、致命錯誤:libxml/xmlversion.h:沒有那個檔案或目錄apt-get install libxml2-dev

ln -s /usr/include/libxml2/libxml   /usr/include/libxml

二、致命錯誤:libxslt/xsltconfig.h:沒有那個檔案或目錄

apt-get install libxslt-dev

相關文章