摘要:后面將會講到如何結合快速開發爬蟲。集搜客開源代碼下載源開源網絡爬蟲源相關文章即時網絡爬蟲項目啟動說明文章修改歷史補充代碼
1. 下載Python3.5.1安裝包
1.1 進入python官網,點擊menu->downloads,網址:Download Python
1.2 根據系統選擇32位還是64位,這里下載的可執行exe為64位安裝包
2.1 雙擊打開安裝包,選擇自定義路徑(注意安裝路徑中盡量不要含有有中文或者空格),然后選中Add Python 3.5 to PATH(將Python安裝路徑添加到系統變量Path中,這樣做以后在任意目錄下都可以執行pyhton命令了)
2.2 默認全選,Next
2.3 修改安裝路徑,勾選加上Install for all user為所有用戶安裝和Precompile standard library 預編譯標準庫,然后點擊Install
2.4 等待安裝完成
2.5 驗證,使用快捷鍵win + R 或 右鍵開始選擇運行,輸入cmd回車,打開命令提示符窗口,然后輸入python->回車,若出現python版本信息則軟件安裝完成
3.1 安裝lxml庫,由于直接使用pip lxml 對于3.0x以上的版本來說經常會出現版本不適應而失敗,所以這里介紹直接使用whl文件安裝
3.1.1 下載對應python3.5版本的lxml庫,下載網址:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
3.1.2 同檢查python是否安裝成功一樣,使用快捷鍵win + R 或 右鍵開始選擇運行,輸入cmd回車,打開命令提示符窗口,然后
pip install E:demolxml-3.6.4-cp35-cp35m-win_amd64.whl(下載的lxml庫whl文件存放路徑)
可能碰到問題,pip的版本低了,需要更新一下pip的版本。更新pip版本命令:
python -m pip install -U pip
更新完成后,再次使用pip命令:
pip install E:demolxml-3.6.4-cp35-cp35m-win_amd64.whl
3.2 Lxml庫安裝成功后,環境就準備好了, 可以開始敲代碼了
3.2.1引入Gooseeker規則提取器模塊gooseeker.py(引入該模塊的原因和價值),在自定義目錄下創建gooseeker.py文件,如:這里為E:Demogooseeker.py,再以記事本打開,復制下面的代碼粘貼
#!/usr/bin/python # -*- coding: utf-8 -*- # 模塊名: gooseeker # 類名: GsExtractor # Version: 2.0 # 說明: html內容提取器 # 功能: 使用xslt作為模板,快速提取HTML DOM中的內容。 # released by 集搜客(http://www.gooseeker.com) on May 18, 2016 # github: https://github.com/FullerHua/jisou/core/gooseeker.py from urllib import request from urllib.parse import quote from lxml import etree import time class GsExtractor(object): def _init_(self): self.xslt = "" # 從文件讀取xslt def setXsltFromFile(self , xsltFilePath): file = open(xsltFilePath , "r" , encoding="UTF-8") try: self.xslt = file.read() finally: file.close() # 從字符串獲得xslt def setXsltFromMem(self , xsltStr): self.xslt = xsltStr # 通過GooSeeker API接口獲得xslt def setXsltFromAPI(self , APIKey , theme, middle=None, bname=None): apiurl = "http://www.gooseeker.com/api/getextractor?key="+ APIKey +"&theme="+quote(theme) if (middle): apiurl = apiurl + "&middle="+quote(middle) if (bname): apiurl = apiurl + "&bname="+quote(bname) apiconn = request.urlopen(apiurl) self.xslt = apiconn.read() # 返回當前xslt def getXslt(self): return self.xslt # 提取方法,入參是一個HTML DOM對象,返回是提取結果 def extract(self , html): xslt_root = etree.XML(self.xslt) transform = etree.XSLT(xslt_root) result_tree = transform(html) return result_tree # 提取方法,入參是html源碼,返回是提取結果 def extractHTML(self , html): doc = etree.HTML(html) return self.extract(doc)
3.2.2 在提取器模塊gooseeker.py同級目錄下創建一個.py后綴文件,如這里為E:Demofirst.py,再以記事本打開,敲入代碼:
# -*- coding: utf-8 -*- # 使用gsExtractor類的示例程序 # 訪問集搜客論壇,以xslt為模板提取論壇內容 # xslt保存在xslt_bbs.xml中 # 采集結果保存在result.xml中 import os from urllib import request from lxml import etree from gooseeker import GsExtractor # 訪問并讀取網頁內容 url = "http://www.gooseeker.com/cn/forum/7" conn = request.urlopen(url) doc = etree.HTML(conn.read()) bbsExtra = GsExtractor() bbsExtra.setXsltFromAPI("31d24931e043e2d5364d03b8ff9cc77e" , "gooseeker_bbs_xslt") # 設置xslt抓取規則 result = bbsExtra.extract(doc) # 調用extract方法提取所需內容 # 當前目錄 current_path = os.getcwd() file_path = current_path + "/result.xml" # 保存結果 open(file_path,"wb").write(result) # 打印出結果 print(str(result).encode("gbk","ignore").decode("gbk"))
3.2.3 執行first.py,使用快捷鍵win + R 或 右鍵開始選擇運行,輸入cmd回車,打開命令提示窗口,進入first.py文件所在目錄,輸入命令 :python first.py 回車
3.2.4 查看保存結果文件,進入first.py文件所在目錄,查看名稱為result的xml文件(即采集結果)
安裝步驟還是很簡單,主要需要注意的是:
對應系統版本安裝;
將安裝路徑加入系統環境變量Path。
后面將會講到如何結合Scrapy快速開發Python爬蟲。
5. 集搜客GooSeeker開源代碼下載源GooSeeker開源Python網絡爬蟲GitHub源
6.相關文章《Python即時網絡爬蟲項目啟動說明》
7. 文章修改歷史2016-09-28:V1.0
2016-10-25:補充3.2.1代碼
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45519.html
摘要:上一篇文章網絡爬蟲實戰請求庫安裝下一篇文章網絡爬蟲實戰解析庫的安裝的安裝在上一節我們了解了的配置方法,配置完成之后我們便可以用來驅動瀏覽器來做相應網頁的抓取。上一篇文章網絡爬蟲實戰請求庫安裝下一篇文章網絡爬蟲實戰解析庫的安裝 上一篇文章:Python3網絡爬蟲實戰---1、請求庫安裝:Requests、Selenium、ChromeDriver下一篇文章:Python3網絡爬蟲實戰--...
摘要:為了使用各種應用場景,該項目的整個網絡爬蟲產品線包含了四類產品,如下圖所示本實戰是上圖中的獨立爬蟲的一個實例,以采集安居客房產經紀人信息為例,記錄整個采集流程,包括和依賴庫的安裝,即便是初學者,也可以跟著文章內容成功地完成運行。 showImg(https://segmentfault.com/img/bVy2Iy); 1, 引言 Python開源網絡爬蟲項目啟動之初,我們就把網絡爬蟲...
摘要:所以與多線程相比,線程的數量越多,協程性能的優勢越明顯。值得一提的是,在此過程中,只有一個線程在執行,因此這與多線程的概念是不一樣的。 真正有知識的人的成長過程,就像麥穗的成長過程:麥穗空的時候,麥子長得很快,麥穗驕傲地高高昂起,但是,麥穗成熟飽滿時,它們開始謙虛,垂下麥芒。 ——蒙田《蒙田隨筆全集》 上篇論述了關于python多線程是否是雞肋的問題,得到了一些網友的認可,當然也有...
摘要:,引言注釋上一篇爬蟲實戰安居客房產經紀人信息采集,訪問的網頁是靜態網頁,有朋友模仿那個實戰來采集動態加載豆瓣小組的網頁,結果不成功。 showImg(https://segmentfault.com/img/bVzdNZ); 1, 引言 注釋:上一篇《Python爬蟲實戰(3):安居客房產經紀人信息采集》,訪問的網頁是靜態網頁,有朋友模仿那個實戰來采集動態加載豆瓣小組的網頁,結果不成功...
摘要:簡介在使用爬取桔子公司信息,用來進行分析,了解創業公司的一切情況,之前使用寫了一個默認線程是的單個實例,為了防止被設置了下載的速度,萬多個公司信息爬了天多才完成,現在想到使用分布式爬蟲來提高效率。 簡介 在使用 scrapy 爬取 IT桔子公司信息,用來進行分析,了解 IT 創業公司的一切情況,之前使用 scrapy 寫了一個默認線程是10的單個實例,為了防止被 ban IP 設置了下...
閱讀 3056·2021-09-22 15:59
閱讀 1310·2021-08-30 09:46
閱讀 2272·2019-08-30 15:54
閱讀 2003·2019-08-26 12:15
閱讀 2530·2019-08-26 12:09
閱讀 1328·2019-08-26 11:57
閱讀 3333·2019-08-23 17:11
閱讀 1879·2019-08-23 15:59