国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

為編寫網(wǎng)絡(luò)爬蟲程序安裝Python3.5

liaoyg8023 / 1992人閱讀

摘要:后面將會講到如何結(jié)合快速開發(fā)爬蟲。集搜客開源代碼下載源開源網(wǎng)絡(luò)爬蟲源相關(guān)文章即時網(wǎng)絡(luò)爬蟲項(xiàng)目啟動說明文章修改歷史補(bǔ)充代碼

1. 下載Python3.5.1安裝包

1.1 進(jìn)入python官網(wǎng),點(diǎn)擊menu->downloads,網(wǎng)址:Download Python

1.2 根據(jù)系統(tǒng)選擇32位還是64位,這里下載的可執(zhí)行exe為64位安裝包

2. 安裝Python3.5

2.1 雙擊打開安裝包,選擇自定義路徑(注意安裝路徑中盡量不要含有有中文或者空格),然后選中Add Python 3.5 to PATH(將Python安裝路徑添加到系統(tǒng)變量Path中,這樣做以后在任意目錄下都可以執(zhí)行pyhton命令了)

2.2 默認(rèn)全選,Next

2.3 修改安裝路徑,勾選加上Install for all user為所有用戶安裝和Precompile standard library 預(yù)編譯標(biāo)準(zhǔn)庫,然后點(diǎn)擊Install

2.4 等待安裝完成

2.5 驗(yàn)證,使用快捷鍵win + R 或 右鍵開始選擇運(yùn)行,輸入cmd回車,打開命令提示符窗口,然后輸入python->回車,若出現(xiàn)python版本信息則軟件安裝完成

3. 簡單實(shí)踐,敲一個簡單小爬蟲程序

3.1 安裝lxml庫,由于直接使用pip lxml 對于3.0x以上的版本來說經(jīng)常會出現(xiàn)版本不適應(yīng)而失敗,所以這里介紹直接使用whl文件安裝

3.1.1 下載對應(yīng)python3.5版本的lxml庫,下載網(wǎng)址:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

3.1.2 同檢查python是否安裝成功一樣,使用快捷鍵win + R 或 右鍵開始選擇運(yùn)行,輸入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庫安裝成功后,環(huán)境就準(zhǔn)備好了, 可以開始敲代碼了

3.2.1引入Gooseeker規(guī)則提取器模塊gooseeker.py(引入該模塊的原因和價值),在自定義目錄下創(chuàng)建gooseeker.py文件,如:這里為E:Demogooseeker.py,再以記事本打開,復(fù)制下面的代碼粘貼

#!/usr/bin/python
# -*- coding: utf-8 -*-
# 模塊名: gooseeker
# 類名: GsExtractor
# Version: 2.0
# 說明: html內(nèi)容提取器
# 功能: 使用xslt作為模板,快速提取HTML DOM中的內(nèi)容。
# 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()
    # 返回當(dāng)前xslt
    def getXslt(self):
        return self.xslt
    # 提取方法,入?yún)⑹且粋€HTML DOM對象,返回是提取結(jié)果
    def extract(self , html):
        xslt_root = etree.XML(self.xslt)
        transform = etree.XSLT(xslt_root)
        result_tree = transform(html)
        return result_tree
    # 提取方法,入?yún)⑹莌tml源碼,返回是提取結(jié)果
    def extractHTML(self , html):
        doc = etree.HTML(html)
        return self.extract(doc)

3.2.2 在提取器模塊gooseeker.py同級目錄下創(chuàng)建一個.py后綴文件,如這里為E:Demofirst.py,再以記事本打開,敲入代碼:

# -*- coding: utf-8 -*-
# 使用gsExtractor類的示例程序
# 訪問集搜客論壇,以xslt為模板提取論壇內(nèi)容
# xslt保存在xslt_bbs.xml中
# 采集結(jié)果保存在result.xml中

import os
from urllib import request
from lxml import etree
from gooseeker import GsExtractor

# 訪問并讀取網(wǎng)頁內(nèi)容
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")   # 設(shè)置xslt抓取規(guī)則
result = bbsExtra.extract(doc)   # 調(diào)用extract方法提取所需內(nèi)容

# 當(dāng)前目錄
current_path = os.getcwd()
file_path = current_path + "/result.xml"

# 保存結(jié)果
open(file_path,"wb").write(result)

# 打印出結(jié)果
print(str(result).encode("gbk","ignore").decode("gbk"))

3.2.3 執(zhí)行first.py,使用快捷鍵win + R 或 右鍵開始選擇運(yùn)行,輸入cmd回車,打開命令提示窗口,進(jìn)入first.py文件所在目錄,輸入命令 :python first.py 回車

3.2.4 查看保存結(jié)果文件,進(jìn)入first.py文件所在目錄,查看名稱為result的xml文件(即采集結(jié)果)

4. 總結(jié)

安裝步驟還是很簡單,主要需要注意的是:

對應(yīng)系統(tǒng)版本安裝;

將安裝路徑加入系統(tǒng)環(huán)境變量Path。

后面將會講到如何結(jié)合Scrapy快速開發(fā)Python爬蟲。

5. 集搜客GooSeeker開源代碼下載源

GooSeeker開源Python網(wǎng)絡(luò)爬蟲GitHub源

6.相關(guān)文章

《Python即時網(wǎng)絡(luò)爬蟲項(xiàng)目啟動說明》

7. 文章修改歷史

2016-09-28:V1.0
2016-10-25:補(bǔ)充3.2.1代碼

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/45519.html

相關(guān)文章

  • Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---2、請求庫安裝:GeckoDriver、PhantomJS、Aioh

    摘要:上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)請求庫安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)解析庫的安裝的安裝在上一節(jié)我們了解了的配置方法,配置完成之后我們便可以用來驅(qū)動瀏覽器來做相應(yīng)網(wǎng)頁的抓取。上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)請求庫安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)解析庫的安裝 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---1、請求庫安裝:Requests、Selenium、ChromeDriver下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)--...

    Cristalven 評論0 收藏0
  • Python爬蟲實(shí)戰(zhàn)(3):安居客房產(chǎn)經(jīng)紀(jì)人信息采集

    摘要:為了使用各種應(yīng)用場景,該項(xiàng)目的整個網(wǎng)絡(luò)爬蟲產(chǎn)品線包含了四類產(chǎn)品,如下圖所示本實(shí)戰(zhàn)是上圖中的獨(dú)立爬蟲的一個實(shí)例,以采集安居客房產(chǎn)經(jīng)紀(jì)人信息為例,記錄整個采集流程,包括和依賴庫的安裝,即便是初學(xué)者,也可以跟著文章內(nèi)容成功地完成運(yùn)行。 showImg(https://segmentfault.com/img/bVy2Iy); 1, 引言 Python開源網(wǎng)絡(luò)爬蟲項(xiàng)目啟動之初,我們就把網(wǎng)絡(luò)爬蟲...

    馬忠志 評論0 收藏0
  • Python協(xié)程(真才實(shí)學(xué),想學(xué)的進(jìn)來)

    摘要:所以與多線程相比,線程的數(shù)量越多,協(xié)程性能的優(yōu)勢越明顯。值得一提的是,在此過程中,只有一個線程在執(zhí)行,因此這與多線程的概念是不一樣的。 真正有知識的人的成長過程,就像麥穗的成長過程:麥穗空的時候,麥子長得很快,麥穗驕傲地高高昂起,但是,麥穗成熟飽滿時,它們開始謙虛,垂下麥芒。 ——蒙田《蒙田隨筆全集》 上篇論述了關(guān)于python多線程是否是雞肋的問題,得到了一些網(wǎng)友的認(rèn)可,當(dāng)然也有...

    lykops 評論0 收藏0
  • Python爬蟲實(shí)戰(zhàn)(4):豆瓣小組話題數(shù)據(jù)采集—動態(tài)網(wǎng)頁

    摘要:,引言注釋上一篇爬蟲實(shí)戰(zhàn)安居客房產(chǎn)經(jīng)紀(jì)人信息采集,訪問的網(wǎng)頁是靜態(tài)網(wǎng)頁,有朋友模仿那個實(shí)戰(zhàn)來采集動態(tài)加載豆瓣小組的網(wǎng)頁,結(jié)果不成功。 showImg(https://segmentfault.com/img/bVzdNZ); 1, 引言 注釋:上一篇《Python爬蟲實(shí)戰(zhàn)(3):安居客房產(chǎn)經(jīng)紀(jì)人信息采集》,訪問的網(wǎng)頁是靜態(tài)網(wǎng)頁,有朋友模仿那個實(shí)戰(zhàn)來采集動態(tài)加載豆瓣小組的網(wǎng)頁,結(jié)果不成功...

    blastz 評論0 收藏0
  • scrapy_redis 和 docker 實(shí)現(xiàn)簡單分布式爬蟲

    摘要:簡介在使用爬取桔子公司信息,用來進(jìn)行分析,了解創(chuàng)業(yè)公司的一切情況,之前使用寫了一個默認(rèn)線程是的單個實(shí)例,為了防止被設(shè)置了下載的速度,萬多個公司信息爬了天多才完成,現(xiàn)在想到使用分布式爬蟲來提高效率。 簡介 在使用 scrapy 爬取 IT桔子公司信息,用來進(jìn)行分析,了解 IT 創(chuàng)業(yè)公司的一切情況,之前使用 scrapy 寫了一個默認(rèn)線程是10的單個實(shí)例,為了防止被 ban IP 設(shè)置了下...

    _DangJin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<