Python基礎(chǔ)第三方模塊requests openpyxl
一、第三方模塊的下載與使用
1、什么是第三方模塊
- 第三方模塊是指別人編寫的模塊
- 第三方模塊一般功能都比較強(qiáng)大
2、如何安裝第三方模塊
方式一:pip工具
安裝方式:
1、打開python解釋器的安裝目錄,找到Scipts目錄,該目錄下會(huì)有pip.exe的程序,這個(gè)程序就是用來安裝第三方模塊的
2、將python版本對(duì)應(yīng)的Scipts文件目錄添加至系統(tǒng)環(huán)境變量
3、打開cmd命令提示符窗口,在cmd命令窗口中運(yùn)行下載第三方模塊的句式
下載第三方模塊的句式 pip install 模塊名 下載第三方模塊臨時(shí)切換倉庫 pip install 模塊名 -i 倉庫地址 下載第三方模塊指定版本(不指定默認(rèn)是最新版) pip install 模塊名==版本號(hào) -i 倉庫地址
注意事項(xiàng):
我們的電腦中可能安裝了多個(gè)版本的python解釋器,每個(gè)版本中都有pip工具,在我們使用pip安裝模塊時(shí),需要下載在我們使用的版本中的pip工具中,否則下載的模塊將無法運(yùn)行
方式二:pycharm中下載
安裝方式:
1、在pycharm中點(diǎn)擊左上角File
2、在下方目錄中找到Settings
3、找到Project,打開python Interpreter
4、點(diǎn)擊'+'號(hào),在上方窗口內(nèi)輸入想要下載的模塊
5、點(diǎn)擊Install Package,等待即可下載完成
注意事項(xiàng):
1、在安裝窗口右側(cè)找到Specify versin 可選擇需要下載模塊版本號(hào)
2、Manage Repositories可配置倉庫地址
3、注意事項(xiàng)
1、報(bào)錯(cuò)并有警告信息
WARNING: You are using pip version 20.2.1;
- 原因在于pip版本過低 只需要拷貝后面的命令執(zhí)行更 新操作即可
d:\python38\python.exe -m pip install --upgrade pip
- 更新完成后再次執(zhí)行下載第三方模塊的命令即可
2、報(bào)錯(cuò),提示關(guān)鍵字
Timeout
- 提示該關(guān)鍵字說明當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)不穩(wěn)定,只需更換網(wǎng)絡(luò)或等待網(wǎng)絡(luò)穩(wěn)定后下載即可
3、報(bào)錯(cuò),無關(guān)鍵字
面向百度搜索
- 只需拷貝報(bào)錯(cuò)信息到百度搜索即可
- 通常都是需要用戶提前準(zhǔn)備好一些下載環(huán)境才可以順利下載
4、下載速度慢
pip的默認(rèn)下載地址都是國(guó)外的,我們只需要切換下載地址即可
- 關(guān)于切換下載地址的方式在上面已經(jīng)說明
- 常用下載地址
清華大學(xué) :
https://pypi.tuna.tsinghua.edu.cn/simple/阿里云:
http://mirrors.aliyun.com/pypi/simple/中國(guó)科學(xué)技術(shù)大學(xué) :
http://pypi.mirrors.ustc.edu.cn/simple/華中科技大學(xué):
http://pypi.hustunique.com/豆瓣源:
http://pypi.douban.com/simple/騰訊源:
http://mirrors.cloud.tencent.com/pypi/simple華為鏡像源:
https://repo.huaweicloud.com/repository/pypi/simple/
二、網(wǎng)絡(luò)爬蟲之requests模塊
1、簡(jiǎn)介
- requests模塊是一個(gè)第三方模塊,需要在額外進(jìn)行安裝
- 它是一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的模塊,主要用來向?yàn)g覽器發(fā)送請(qǐng)求
2、使用方法
導(dǎo)入模塊:
import requests
1.關(guān)鍵詞:get( )
作用:用于向?yàn)g覽器發(fā)送請(qǐng)求
代碼用法:
url = "https://www.baidu.com" res = requests.get(url)
2.關(guān)鍵詞:encoding
作用:指定編碼格式,針對(duì)一些古老的網(wǎng)站,在獲取網(wǎng)頁信息的時(shí)候,不指定編碼格式的話可能會(huì)出現(xiàn)亂碼。不指定的情況下默認(rèn)使用系統(tǒng)自帶的編碼環(huán)境
代碼用法:
res = encoding = 'utf8'
3.關(guān)鍵詞:content
作用:返回的是一個(gè)原生字符串,是bytes類型
代碼用法:
print(res.content) # 返回的是一個(gè)原生字符串,是bytes類型
4.關(guān)鍵詞:text
作用:獲取字符串類型的網(wǎng)頁數(shù)據(jù)(默認(rèn)按照utf8)
代碼用法:
print(res.text) # 獲取字符串類型的網(wǎng)頁數(shù)據(jù)(默認(rèn)按照utf8)
5.關(guān)鍵詞:url
作用:打印請(qǐng)求
代碼用法:
print(res.url)
6.關(guān)鍵詞:status_code
作用:打印狀態(tài)碼
代碼用法:
print(res.staus_code)
三、網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)
1、爬取鏈家網(wǎng)站房屋信息
import re import requests from openpyxl import Workbook url = 'https://sh.lianjia.com/ershoufang/pg1/' for i in range(1, 101): url = f"https://sh.lianjia.com/ershoufang/pg{i}/" print(url) res = requests.get(url) url_data = res.text home_biaoqian = re.findall( """data-is_focus="" data-sl="">(.*?)</a>""", url_data) home_xiaoqu_name = re.findall( """<a href="https:.*?" rel="external nofollow" target="_blank" data-log_index=".*?" data-el=".*?">(.*?)</a>""", url_data) home_xiaoqu_dir = re.findall("""<a rel="external nofollow" target="_blank">(.*?)</a>""", url_data) home_jutixinxi = re.findall("""<div class="houseInfo"><span class="houseIcon"></span>(.*?)</div>""", url_data) home_guanzhudu = re.findall("""<div class="followInfo"><span class="starIcon"></span>(.*?)</div>""", url_data) home_zongjia = re.findall("""<span class="">(.*?)</span>""", url_data) home_danjia = re.findall("""<span>(.*?)</span>""", url_data) home_data = zip(home_xiaoqu_name, home_xiaoqu_dir, home_biaoqian, home_jutixinxi, home_guanzhudu, home_zongjia, home_danjia) with open(r'sh_.txt', 'w', encoding='utf8') as f: for i in home_data: f.write(''' 小區(qū)名稱:%s 小區(qū)地址:%s 小區(qū)標(biāo)簽:%s 詳情:%s 關(guān)注度:%s 總價(jià):%s 單價(jià):%s\r '''%i)
四、openpyxl模塊
1、簡(jiǎn)介
- openpyxl模塊屬于第三方模塊,是一個(gè)在 python 中能夠處理 excel 文件的模塊,還有比較出名的是xlrd、xlwt 分別控制excel文件的讀寫,這倆個(gè)能夠兼容所有版本的文件。openpyxl 針對(duì) excel 2003版本之前的兼容性可能不好 但是功能更加強(qiáng)大。
注意事項(xiàng):
excel文件的版本及后綴
2003版本之前 excel的文件后綴是xls
2003版本之后 excel的文件后綴是xlsx、csv
2、創(chuàng)建文件相關(guān)
2、1.創(chuàng)建excel文件
關(guān)鍵詞:workbook
作用:
- 使用 openpyxl 創(chuàng)建文件。只需導(dǎo)入Workbook類
代碼用法:
導(dǎo)入模塊: form openpyxl import workbook 代碼用法: from openpyxl import Workbook wb = Workbook # 一個(gè) excel 文件創(chuàng)建成功
2、2.創(chuàng)建工作簿
關(guān)鍵詞:cerate_sheet( )
作用:
- 使用 openpyxl 創(chuàng)可以創(chuàng)建自定義名稱的工作簿。括號(hào)里的參數(shù)是工作簿名稱,還有一個(gè)參數(shù)是工作簿的位置,也可以不寫建文件。只需導(dǎo)入Workbook類
- 可以創(chuàng)建多個(gè)工作簿,并且可按照順序排列
代碼用法:
導(dǎo)入模塊: form openpyxl import workbook 代碼用法: from openpyxl import Workbook wb = Workbook() ws1 = wb.cerate_sheet('工作簿名稱', 0)
sheet 是自動(dòng)生成的
2、3.修改工作簿名稱
關(guān)鍵詞:title
作用:
- 可以更改工作簿名稱
- 通過待修改名稱工作簿‘點(diǎn)’的方式在后方賦予新的名稱
代碼用法:
導(dǎo)入模塊: form openpyxl import workbook 代碼用法: from openpyxl import Workbook wb = Workbook() ws1 = wb.cerate_sheet('用戶信息表', 0) ws1.title = 'user_infor'
2、4.修改工作簿顏色
關(guān)鍵詞:sheet_properties.tabColor
作用:
- 用來給工作簿背景修改顏色,需要用到RGB色域
代碼用法:
導(dǎo)入模塊: from openpyxl import Workbook wb = Workbook() ws1 = wb.create_sheet('用戶信息表', 0) ws1.sheet_properties.tabColor = 'FF6666' # 將標(biāo)題背景改為指定RRGGBB顏色代碼
2、5.查看文件所有工作簿
關(guān)鍵詞:sheetname
作用:
- 查看exexl文件下所有的工作簿,返回的是一個(gè)列表
代碼用法:
導(dǎo)入模塊: from openpyxl import Workbook 代碼用法: wb = Workbook() ws1 = wb.create_sheet('uese_zhangzhang') ws2 = wb.create_sheet('user_kangkang') print(wb.sheetname) # ['user_zhangzhang', 'user_zhangzhang']
3、寫入內(nèi)容相關(guān)
3、1.寫入/修改內(nèi)容
關(guān)鍵詞:ws[]
作用:
- 可以通過工作簿'點(diǎn)'的方式,在后方中括號(hào)內(nèi)填寫內(nèi)容的位置,來修改內(nèi)容
代碼用法:
導(dǎo)入模塊: from openpyxl import Workbook 代碼用法: wb = Workbook() ws1 = wb.create_sheet('uese_zhangzhang') ws1['A1'] = 'kangkang' # ws1['A1'] 代表的是該表中的 A1 位置,我們可以將數(shù)據(jù)直接賦值給它
關(guān)鍵詞:cell( )
作用:
- 可以通過工作簿'點(diǎn)'的方式,在后方參數(shù)內(nèi)填寫內(nèi)容的位置,來修改內(nèi)容
- row:行
- colum:列
- value:值(對(duì)應(yīng)位置的數(shù)據(jù))
代碼用法:
導(dǎo)入模塊: from openpyxl import Workbook 代碼用法: wb = Workbook() ws1 = wb.create_sheet('uese_zhangzhang') ws1.cell(row = 1, column= 1, value = 'kangkang') # 在第一行,第一列,填入數(shù)值'kangkang'
3、2.一次寫入多個(gè)數(shù)據(jù)
關(guān)鍵詞:append()
作用:
- 可以一次性寫入多個(gè)數(shù)據(jù)值,通過行的方式寫入,在關(guān)鍵詞后方參數(shù)內(nèi)將數(shù)據(jù)值以列表的形式寫入
代碼用法:
導(dǎo)入模塊: from openpyxl import Workbook 代碼用法: wb = Workbook() ws = wb.cerate_sheet('user_name', 0) ws.append(['序號(hào)', '姓名', '性別', '年齡']) ws.append(['1', 'kangkang', '男', '18'])
4、讀取內(nèi)容相關(guān)
4、1.訪問多個(gè)單元格
用法:直接使用切片操作的方式
代碼用法:
x = ws['A1':'C2'] x1 = ws['C'] x2 = ws['C:D'] x3 = ws[10] x4 = ws[5:10]
4、2.獲取單元格值
關(guān)鍵詞:values
作用:
- 使用for循環(huán)的方式,可以一次獲取整行文本數(shù)據(jù)值
代碼用法:
導(dǎo)入模塊: from openpyxl import Workbook 代碼用法: wb = Wordbook() ws1 = wb.create_sheet('nser_name', 0) ws1.append(['name', 'age', 'hobby']) ws1.append(['kangkang', 18, 'read']) for i in ws1.vallue: print(i)
5、保存文件
- 當(dāng)我們編輯完文件后,就需要保存文件,同時(shí)賦予文件的名稱
關(guān)鍵詞:save( )
作用:
- 在關(guān)鍵詞后方參數(shù)內(nèi)填入文件保存的地址,同時(shí)賦予文件名
代碼用法:
wb = Workbook() wb.save('user_infor.xlsx') # balances.xlsx 是保存的路徑,也就是文件名。 # 編輯完要保存才行。
6、打開文件
前面說的是我們?nèi)绾蝿?chuàng)建文件,編輯創(chuàng)建后的文件,對(duì)創(chuàng)建的文件進(jìn)行編輯。
下面所說的是我們?nèi)绾未蜷_現(xiàn)有的文件,并進(jìn)行編輯
load_workbook
模塊導(dǎo)入:
from openpyxl import load_workbook
6、1.讀取工作簿數(shù)據(jù)
方式一:
from openpyxl import load_workbook wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True) ws = wb['用戶信息表'] # 拿到工作薄對(duì)象 print(ws['A1'].value) # 取出工作薄對(duì)象中 A1 位置的值
方式一:
from openpyxl import load_workbook wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True) ws = wb['用戶信息表'] print(ws.cell(row=2, column=1).value) # 通過行與列的形式來取值
方式三:(逐行讀?。?/p>
方式三(逐行讀?。? from openpyxl import load_workbook wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True) ws = wb['用戶信息表'] for row in ws.rows: # 獲取每一行的數(shù)據(jù) for data in row: # 獲取每一行中單元格的數(shù)據(jù) print(data.value) # 打印單元格的值
以上就是Python基礎(chǔ)第三方模塊requests openpyxl的詳細(xì)內(nèi)容,更多關(guān)于Python模塊requests openpyxl的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python爬蟲庫requests-html進(jìn)行HTTP請(qǐng)求HTML解析等高級(jí)功能應(yīng)用
- Python爬蟲請(qǐng)求模塊Urllib及Requests庫安裝使用教程
- Python網(wǎng)絡(luò)請(qǐng)求使用Requests庫抓取解析數(shù)據(jù)
- python?HTTP協(xié)議相關(guān)庫requests urllib基礎(chǔ)學(xué)習(xí)
- python引入requests報(bào)錯(cuò)could?not?be?resolved解決方案
- Python Requests訪問網(wǎng)絡(luò)更方便
相關(guān)文章
python入門課程第一講之安裝與優(yōu)缺點(diǎn)介紹
這篇文章主要介紹了python入門課程第一講之安裝與優(yōu)缺點(diǎn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09詳解關(guān)于Django中ORM數(shù)據(jù)庫遷移的配置
這篇文章主要介紹了詳解關(guān)于Django中ORM數(shù)據(jù)庫遷移的配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10python生成多個(gè)只含0,1元素的隨機(jī)數(shù)組或列表的實(shí)例
今天小編就為大家分享一篇python生成多個(gè)只含0,1元素的隨機(jī)數(shù)組或列表的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11python進(jìn)行圖像邊緣檢測(cè)的詳細(xì)教程
相信大家對(duì)于邊緣檢測(cè)這幾個(gè)詞并不陌生,但是相對(duì)于如何處理,如何進(jìn)行圖像的邊緣檢測(cè)卻無能為力、束手無策了,下面這篇文章主要給大家介紹了關(guān)于python進(jìn)行圖像邊緣檢測(cè)的詳細(xì)教程,需要的朋友可以參考下2023-04-04Python基于identicon庫創(chuàng)建類似Github上用的頭像功能
這篇文章主要介紹了Python基于identicon庫創(chuàng)建類似Github上用的頭像功能,結(jié)合具體實(shí)例形式分析了identicon庫操作圖形的具體步驟與相關(guān)使用技巧,需要的朋友可以參考下2017-09-09