亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

liaoyg8023 / 2044人閱讀

摘要:后面將會(huì)講到如何結(jié)合快速開發(fā)爬蟲。集搜客開源代碼下載源開源網(wǎng)絡(luò)爬蟲源相關(guān)文章即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目啟動(dò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. 簡(jiǎn)單實(shí)踐,敲一個(gè)簡(jiǎn)單小爬蟲程序

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

3.1.1 下載對(duì)應(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(引入該模塊的原因和價(jià)值),在自定義目錄下創(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)⑹且粋€(gè)HTML DOM對(duì)象,返回是提取結(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同級(jí)目錄下創(chuàng)建一個(gè).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é)

安裝步驟還是很簡(jiǎn)單,主要需要注意的是:

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

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

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

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

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

6.相關(guān)文章

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

7. 文章修改歷史

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45519.html

相關(guān)文章

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

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

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

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

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

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

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

    摘要:,引言注釋上一篇爬蟲實(shí)戰(zhàn)安居客房產(chǎn)經(jīng)紀(jì)人信息采集,訪問的網(wǎng)頁是靜態(tài)網(wǎng)頁,有朋友模仿那個(gè)實(shí)戰(zhàn)來采集動(dòng)態(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)頁,有朋友模仿那個(gè)實(shí)戰(zhàn)來采集動(dòng)態(tài)加載豆瓣小組的網(wǎng)頁,結(jié)果不成功...

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

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

    _DangJin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<