Python爬蟲學習==>第五章:爬蟲常用庫的安裝


學習目的:

         爬蟲有請求庫(request、selenium)、解析庫、存儲庫(MongoDB、Redis)、工具庫,此節學習安裝常用庫的安裝

正式步驟

Step1:urllib和re庫


 

  1. 這兩個庫在安裝Python中,會默認安裝,下面代碼示例調用:
    >>> import urllib
    >>> import urllib.request
    >>> urllib.request.urlopen("http://www.baidu.com")
    <http.client.HTTPResponse object at 0x0000000002F05F60>
    >>> import re

    導入時,沒有回顯,就表示安裝正確,可以正常使用

Step2:requests庫安裝


 

  1. 打開windows命令行cmd,輸入命令:pip3 install requests
  2. 驗證安裝成功的代碼示例
    >>> import requests
    >>> requests.get("http://www.baidu.com") <Response [200]> 

Step3:selenium庫的安裝


 

  1. 自動化測試的根基
  2. 在cmd中輸入命令:pip3 install selenium
  3. 測試代碼
    >>> import selenium
    >>> from selenium import webdriver

     

  4. 安裝Chromedriver,打開http://npm.taobao.org/mirrors/chromedriver   ,點擊下載chromedriver_win32.zip
  5. 解壓后,把 chromedriver.exe 放到D:\Python36\Scripts
  6. 使用selenium庫打開chrome瀏覽器代碼示例:
    >>> from selenium import webdriver
    >>> driver = webdriver.Chrome()

    運行后,會打開一個谷歌瀏覽器,此外需要注意的是chrome版本需要大於等於55,因為驅動是這樣的要求

 

Step4:phantomjs  


 

  PhantomJS 是一個基於WebKit的服務器端 JavaScript API。它全面支持web而不需瀏覽器支持,其快速,原生支持各種Web標准: DOM 處理, CSS 選擇器, JSON, Canvas, 和 SVG。PhantomJS可以用於頁面自動化,網絡監測,網頁截屏,以及無界面測試等。

簡而言之:基於WebKit的,沒有界面的瀏覽器。

  閃亮的功能點:PhantomJS可以用於頁面自動化,網絡監測,網頁截屏,以及無界面測試。

  優勢:跨平台,易上手。

安裝步驟:

  1. 下載網址http://phantomjs.org/download.html
  2. 解壓,獲得phantomjs.exe 文件路徑 D:\phantomjs-2.1.1-windows\bin,然后配置到用戶變量中的path變量中
  3. 打開cmd,輸入:phantomjs

ps:chrome headlessl可以替代phantomjs,為什么呢?因為selenium不再支持phantomjs了

 

Step5:chrome headless


 

  測試代碼(剛剛百度來的):這個是chrome的示例

from selenium import webdriver
options=webdriver.ChromeOptions()
options.set_headless()
# options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver=webdriver.Chrome(options=options)
driver.get('http://httpbin.org/user-agent')
driver.get_screenshot_as_file('test.png')
driver.close()

  FireFox瀏覽器的示例:

  

from selenium import webdriver
options = webdriver.FirefoxOptions()
options.set_headless()
# options.add_argument('-headless')
options.add_argument('--disable-gpu')
driver=webdriver.Firefox(firefox_options=options)
driver.get('http://httpbin.org/user-agent')
driver.get_screenshot_as_file('test.png')
driver.close()

 

 

Step6:lxml


 

  簡介:lxml是python中處理xml的一個非常強大的庫,可以非常方便的解析和生成xml文件。

  1.  安裝命令:pip3 install lxml
    PS:如果安裝失敗了,可以多試幾次,或者使用whl安裝

 

Step7:beautifulsoup


 

   簡介:Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫。它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式.Beautiful Soup會幫你節省數小時甚至數天的工作時間。

  安裝步驟:

  1. 依賴lxml庫,所以要先安裝lxml
  2. cmd: pip3 install beautifulsoup4
  3. 測試代碼:
    >>> from bs4 import BeautifulSoup
    >>> soup = BeautifulSoup('<html></html>','lxml')
    >>> 

 

Step8:pyquery


 

  簡介:pyquery相當於jQuery的python實現,可以用於解析HTML網頁等。它的語法與jQuery幾乎完全相同。

  安裝步驟:

  1. 安裝命令: pip3 install pyquery
  2. 測試代碼
    >>> from pyquery import PyQuery as pq
    >>> doc = pq('<html>Python</html>')
    >>> result = doc('html').text()
    >>> result
    'Python'

    pyquery的基礎使用方法可以參考:https://www.cnblogs.com/lei0213/p/7676254.html

 

Step9:pymysql


 

  簡介:PyMySQL 是在 Python3.x 版本中用於連接 MySQL 服務器的一個庫

  安裝步驟:

  1. 命令:pip3 install pymysql
  2. 測試代碼:
    >>> import pymysql
    >>> conn = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='mysql')
    >>> cursor = conn.cursor()
    >>> cursor.execute('select * from db')
    2
    >>> cursor.fetchone()
    ('localhost', 'performance_schema', 'mysql.session', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N')
    >>> cursor.fetchall()
    (('localhost', 'sys', 'mysql.sys', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y'),)

     

Step10:pymongo


 

  簡介:PyMongo是驅動程序,使python程序能夠使用Mongodb數據庫,使用python編寫而成

   安裝步驟:

  1. 安裝命令:pip3 install pymongo
  2. 測試代碼:
    >>> import pymongo
    >>> client = pymongo.MongoClient('localhost')
    >>> db = client['newtest']
    >>> db['table'].insert({'name':'python'})
    ObjectId('5abe67d64bc36b29c0a61a03')
    >>> db['table'].find_one({'name':'python'})
    {'_id': ObjectId('5abe67d64bc36b29c0a61a03'), 'name': 'python'}

     

Step11:redis


 

  簡介:Python分布式爬蟲比較經常使用的應該是scrapy框架加上Redis內存數據庫,中間的調度任務等用scrapy-redis模塊實現。

  安裝步驟:

  1. 安裝命令:pip3 install redis
  2. 測試代碼:
    #數據的插入和獲取
    >>> import redis
    >>> r = redis.Redis('localhost',6379)
    >>> r.set('name','python')
    True
    >>> r.get('name')

     

Step12:flask


 

  簡介:Flask是一個Python編寫的Web 微框架,讓我們可以使用Python語言快速實現一個網站或Web服務

  安裝步驟:

  1. 安裝命令:pip3 install flask
  2. 測試代碼:
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()

    參考文檔:官方文檔:http://docs.jinkan.org/docs/flask/

 

Step13:django


  簡介:web服務器框架

  安裝步驟:

  1. 安裝命令:pip3 install django
  2. 測試代碼 import django

 

Step14:jupyter


 

  安裝步驟:

  1. 安裝命令: pip3 install jupyter
  2. 運行->打開cmd,輸入:jupyter notebook
  3. 然后瀏覽器會自動打開應用程序

 

學習總結:


 

  生活過於安逸,是感覺不到行業的競爭壓力,所以還是多學習,增強自己的測試的核心競爭能力吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM