Python爬蟲常用庫的安裝及其環(huán)境配置
Python常用庫的安裝
urllib、re 這兩個(gè)庫是Python的內(nèi)置庫,直接使用方法import導(dǎo)入即可。
在python中輸入如下代碼:
import urllib import urllib.request response=urllib.request.urlopen("http://www.baidu.com") print(response)
返回結(jié)果為HTTPResponse的對(duì)象:
<http.client.HTTPResponse object at 0x000001929C7525F8>
正則表達(dá)式模塊
import re
該庫為python自帶的庫,直接運(yùn)行不報(bào)錯(cuò),證明該庫正確安裝。
requests這個(gè)庫是請(qǐng)求的庫
我們需要使用執(zhí)行文件pip3來進(jìn)行安裝。文件處于C:\Python36\Scripts下,我們可以先將此路徑設(shè)為環(huán)境變量。在命令行中輸入pip3 install requests
進(jìn)行安裝。安裝完成后進(jìn)行驗(yàn)證
>>> import requests >>> requests.get('http://www.baidu.com') <Response [200]>
selenium實(shí)際上是用來瀏覽器的一個(gè)庫
做爬蟲時(shí)可能會(huì)碰到使用JS渲染的網(wǎng)頁,使用requests來請(qǐng)求時(shí),可能無法正常獲取內(nèi)容,我們使用selenium可以驅(qū)動(dòng)瀏覽器獲得渲染后的頁面。也是使用pip3 install selenium
安裝。進(jìn)行驗(yàn)證
>>> import selenium >>> from selenium import webdriver >>> driver = webdriver.Chrome() DevTools listening on ws://127.0.0.1:60980/devtools/browser/7c2cf211-1a8e-41ea-8e4a-c97356c98910 >>> driver.get('http://www.baidu.com')
上述命令可以直接打開chrome瀏覽器,并且打開百度。但是,在這之前我們必須安裝一個(gè)chromedriver,并且安裝googlchrome瀏覽器,可自行去官網(wǎng)下載。當(dāng)我們安裝完畢后再運(yùn)行這些測(cè)試代碼可能依舊會(huì)出現(xiàn)一閃而退的情況,那么問題出在,chrome和chromdriver的版本不兼容,可以在官網(wǎng)下載chrome更高的版本,或者chromedriver更低的版本,但是只要都是最高版本就沒問題。
如何查看本機(jī)的chrome的版本,具體方法如下:
chromedriver的下載地址如下:
http://chromedriver.storage.googleapis.com/index.html
chromedriver解壓后放到Python或者其他配置了環(huán)境變量的目錄下。
phantomjs是一個(gè)無界面瀏覽器,在后臺(tái)運(yùn)行
可在官網(wǎng)自行下載。并且需要將phantomjs.exe 的所在目錄設(shè)為環(huán)境變量。測(cè)試代碼
>>> from selenium import webdriver >>> driver = webdriver.PhantomJS() >>> driver.get('http://www.baidu.com') >>> driver.page_source '<!DOCTYPE html><!--STATUS OK--><html><head>\n
lxml
使用pip3 install lxml
安裝
beautifulsoup是一個(gè)網(wǎng)絡(luò)解析庫,依賴于lxml庫
使用pip3安裝。必須安裝pip3 install beautifulsoup4
,因?yàn)閎eautifulsoup已經(jīng)停止維護(hù)了。安裝驗(yàn)證
>>> from bs4 import BeautifulSoup >>> soup = BeautifulSoup('<html></html>','lxml') >>>
pyquery也是網(wǎng)頁解析庫
較bs4更加方便,語法和Jquery無異。也是使用pip3 安裝
>>> from pyquery import PyQuery as pq #將其重命名 >>> doc = pq('<html></html>') >>> doc = pq('<html>hello world</html>') >>> result = doc('html').text() >>> result 'hello world'
pymysql是一個(gè)操作mysql數(shù)據(jù)庫的庫
使用pip3 安裝
>>> import pymysql >>> conn = pymysql.connect(host='localhost',user='root',password = '123456',port=3306,db='mysql') >>> cursor = conn.cursor() >>> cursor.execute('select * from db') 0
pymongo操作數(shù)據(jù)庫MongoDB的庫
需要開啟MongoDB服務(wù),在計(jì)算機(jī)管理當(dāng)中的服務(wù)尋找。也是使用pip3安裝
>>> import pymongo >>> client = pymongo.MongoClient('localhost') >>> db = client['newtestdb'] >>> db['table'].insert({'name':'tom'}) ObjectId('5b868ee4c4d17a0b2466f748') >>> db['table'].find_one({'name':'tom'}) {'_id': ObjectId('5b868ee4c4d17a0b2466f748'), 'name': 'tom'} >>> #完成了單條數(shù)據(jù)的查詢
redis一個(gè)非關(guān)系型數(shù)據(jù)庫,運(yùn)行效率高
使用pip3 install redis
安裝
>>> import redis >>> r = redis.Redis ('localhost',6379) >>> r.set('name','tom') True >>> r.get('name') b'tom' >>> #是一個(gè)byte型數(shù)據(jù)類型
flask做代理時(shí)可能會(huì)用到
詳細(xì)內(nèi)容可以在flask官網(wǎng)查看flask文檔
使用pip3 安裝pip3 install flask
django是一個(gè)web服務(wù)器框架
提供了一個(gè)完整的后臺(tái)管理,引擎、接口等,可以使用它做一個(gè)完整的網(wǎng)站??稍赿jango的官網(wǎng)查看文檔。使用pip3 install django
安裝
jupyter 可以理解為一個(gè)記事本
運(yùn)行網(wǎng)頁端,可以進(jìn)行寫代碼,調(diào)試,運(yùn)行。在官網(wǎng)可以下載jupyter,也可以用pip3 安裝,相關(guān)庫非常多,安裝比較久。安裝后可以在命令行直接運(yùn)行jupyter notebook,因?yàn)榇宋募趕crips目錄下。
C:\Users\dell>jupyter notebook
[I 20:32:37.552 NotebookApp] The port 8888 is already in use, trying another port.
[I 20:32:37.703 NotebookApp] Serving notebooks from local directory: C:\Users\dell
可以在選項(xiàng) new 中建立新python3文件,并且可以編寫代碼。
默認(rèn)的文件名為unite,此處將其改為testDemo,使用快捷鍵ctrl+回車 運(yùn)行,按鍵B跳轉(zhuǎn)至新的編輯行。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
在python Numpy中求向量和矩陣的范數(shù)實(shí)例
今天小編就為大家分享一篇在python Numpy中求向量和矩陣的范數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08python 串口讀取+存儲(chǔ)+輸出處理實(shí)例
今天小編就為大家分享一篇python 串口讀取+存儲(chǔ)+輸出處理實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN示例詳解
這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11Python3多進(jìn)程 multiprocessing 模塊實(shí)例詳解
這篇文章主要介紹了Python3多進(jìn)程 multiprocessing 模塊,結(jié)合實(shí)例形式詳細(xì)分析了Python3多進(jìn)程 multiprocessing 模塊的概念、原理、相關(guān)方法使用技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06django與vue的完美結(jié)合_實(shí)現(xiàn)前后端的分離開發(fā)之后在整合的方法
今天小編就為大家分享一篇django與vue的完美結(jié)合_實(shí)現(xiàn)前后端的分離開發(fā)之后在整合的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python多線程實(shí)現(xiàn)支付模擬請(qǐng)求過程解析
這篇文章主要介紹了python多線程實(shí)現(xiàn)支付模擬請(qǐng)求過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04