學習目的: 爬蟲有請求庫(request、selenium)、解析庫、存儲庫(MongoDB、Redis)、工具庫,此節學習安裝常用庫的安裝 正式步驟 Step1:urllib和re庫 導入時,沒有回顯,就表示安裝正確,可以正常使用 Step2:requests庫安裝 Step3:selenium庫 ...
學習目的:
爬蟲有請求庫(request、selenium)、解析庫、存儲庫(MongoDB、Redis)、工具庫,此節學習安裝常用庫的安裝
正式步驟
Step1:urllib和re庫
- 這兩個庫在安裝Python中,會預設安裝,下麵代碼示例調用:
>>> import urllib >>> import urllib.request >>> urllib.request.urlopen("http://www.baidu.com") <http.client.HTTPResponse object at 0x0000000002F05F60> >>> import re
導入時,沒有回顯,就表示安裝正確,可以正常使用
Step2:requests庫安裝
- 打開windows命令行cmd,輸入命令:pip3 install requests
- 驗證安裝成功的代碼示例
>>> import requests >>> requests.get("http://www.baidu.com") <Response [200]>
Step3:selenium庫的安裝
- 自動化測試的根基
- 在cmd中輸入命令:pip3 install selenium
- 測試代碼
>>> import selenium >>> from selenium import webdriver
- 安裝Chromedriver,打開http://npm.taobao.org/mirrors/chromedriver ,點擊下載chromedriver_win32.zip
- 解壓後,把 chromedriver.exe 放到D:\Python36\Scripts
- 使用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可以用於頁面自動化,網路監測,網頁截屏,以及無界面測試。
優勢:跨平臺,易上手。
安裝步驟:
- 下載網址http://phantomjs.org/download.html
- 解壓,獲得phantomjs.exe 文件路徑 D:\phantomjs-2.1.1-windows\bin,然後配置到用戶變數中的path變數中
- 打開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文件。
- 安裝命令:pip3 install lxml
PS:如果安裝失敗了,可以多試幾次,或者使用whl安裝
Step7:beautifulsoup
簡介:Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫。它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式.Beautiful Soup會幫你節省數小時甚至數天的工作時間。
安裝步驟:
- 依賴lxml庫,所以要先安裝lxml
- cmd: pip3 install beautifulsoup4
- 測試代碼:
>>> from bs4 import BeautifulSoup >>> soup = BeautifulSoup('<html></html>','lxml') >>>
Step8:pyquery
簡介:pyquery相當於jQuery的python實現,可以用於解析HTML網頁等。它的語法與jQuery幾乎完全相同。
安裝步驟:
- 安裝命令: pip3 install pyquery
- 測試代碼
>>> 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 伺服器的一個庫
安裝步驟:
- 命令:pip3 install pymysql
- 測試代碼:
>>> 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編寫而成
安裝步驟:
- 安裝命令:pip3 install pymongo
- 測試代碼:
>>> 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模塊實現。
安裝步驟:
- 安裝命令:pip3 install redis
- 測試代碼:
#數據的插入和獲取 >>> import redis >>> r = redis.Redis('localhost',6379) >>> r.set('name','python') True >>> r.get('name')
Step12:flask
簡介:Flask是一個Python編寫的Web 微框架,讓我們可以使用Python語言快速實現一個網站或Web服務
安裝步驟:
- 安裝命令:pip3 install flask
- 測試代碼:
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伺服器框架
安裝步驟:
- 安裝命令:pip3 install django
- 測試代碼 import django
Step14:jupyter
安裝步驟:
- 安裝命令: pip3 install jupyter
- 運行->打開cmd,輸入:jupyter notebook
- 然後瀏覽器會自動打開應用程式
學習總結:
生活過於安逸,是感覺不到行業的競爭壓力,所以還是多學習,增強自己的測試的核心競爭能力吧。