Python基礎第三方模塊requests openpyxl
一、第三方模塊的下載與使用
1、什么是第三方模塊
- 第三方模塊是指別人編寫的模塊
- 第三方模塊一般功能都比較強大
2、如何安裝第三方模塊
方式一:pip工具
安裝方式:
1、打開python解釋器的安裝目錄,找到Scipts目錄,該目錄下會有pip.exe的程序,這個程序就是用來安裝第三方模塊的
2、將python版本對應的Scipts文件目錄添加至系統(tǒng)環(huán)境變量
3、打開cmd命令提示符窗口,在cmd命令窗口中運行下載第三方模塊的句式
下載第三方模塊的句式 pip install 模塊名 下載第三方模塊臨時切換倉庫 pip install 模塊名 -i 倉庫地址 下載第三方模塊指定版本(不指定默認是最新版) pip install 模塊名==版本號 -i 倉庫地址
注意事項:
我們的電腦中可能安裝了多個版本的python解釋器,每個版本中都有pip工具,在我們使用pip安裝模塊時,需要下載在我們使用的版本中的pip工具中,否則下載的模塊將無法運行
方式二:pycharm中下載
安裝方式:
1、在pycharm中點擊左上角File
2、在下方目錄中找到Settings
3、找到Project,打開python Interpreter
4、點擊'+'號,在上方窗口內輸入想要下載的模塊
5、點擊Install Package,等待即可下載完成
注意事項:
1、在安裝窗口右側找到Specify versin 可選擇需要下載模塊版本號
2、Manage Repositories可配置倉庫地址
3、注意事項
1、報錯并有警告信息
WARNING: You are using pip version 20.2.1;
- 原因在于pip版本過低 只需要拷貝后面的命令執(zhí)行更 新操作即可
d:\python38\python.exe -m pip install --upgrade pip
- 更新完成后再次執(zhí)行下載第三方模塊的命令即可
2、報錯,提示關鍵字
Timeout
- 提示該關鍵字說明當前計算機網絡不穩(wěn)定,只需更換網絡或等待網絡穩(wěn)定后下載即可
3、報錯,無關鍵字
面向百度搜索
- 只需拷貝報錯信息到百度搜索即可
- 通常都是需要用戶提前準備好一些下載環(huán)境才可以順利下載
4、下載速度慢
pip的默認下載地址都是國外的,我們只需要切換下載地址即可
- 關于切換下載地址的方式在上面已經說明
- 常用下載地址
清華大學 :
https://pypi.tuna.tsinghua.edu.cn/simple/阿里云:
http://mirrors.aliyun.com/pypi/simple/中國科學技術大學 :
http://pypi.mirrors.ustc.edu.cn/simple/華中科技大學:
http://pypi.hustunique.com/豆瓣源:
http://pypi.douban.com/simple/騰訊源:
http://mirrors.cloud.tencent.com/pypi/simple華為鏡像源:
https://repo.huaweicloud.com/repository/pypi/simple/
二、網絡爬蟲之requests模塊
1、簡介
- requests模塊是一個第三方模塊,需要在額外進行安裝
- 它是一個用于網絡請求的模塊,主要用來向瀏覽器發(fā)送請求
2、使用方法
導入模塊:
import requests
1.關鍵詞:get( )
作用:用于向瀏覽器發(fā)送請求
代碼用法:
url = "https://www.baidu.com" res = requests.get(url)
2.關鍵詞:encoding
作用:指定編碼格式,針對一些古老的網站,在獲取網頁信息的時候,不指定編碼格式的話可能會出現(xiàn)亂碼。不指定的情況下默認使用系統(tǒng)自帶的編碼環(huán)境
代碼用法:
res = encoding = 'utf8'
3.關鍵詞:content
作用:返回的是一個原生字符串,是bytes類型
代碼用法:
print(res.content) # 返回的是一個原生字符串,是bytes類型
4.關鍵詞:text
作用:獲取字符串類型的網頁數(shù)據(jù)(默認按照utf8)
代碼用法:
print(res.text) # 獲取字符串類型的網頁數(shù)據(jù)(默認按照utf8)
5.關鍵詞:url
作用:打印請求
代碼用法:
print(res.url)
6.關鍵詞:status_code
作用:打印狀態(tài)碼
代碼用法:
print(res.staus_code)
三、網絡爬蟲實戰(zhàn)
1、爬取鏈家網站房屋信息
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ū)標簽:%s
詳情:%s
關注度:%s
總價:%s
單價:%s\r
'''%i)
四、openpyxl模塊
1、簡介
- openpyxl模塊屬于第三方模塊,是一個在 python 中能夠處理 excel 文件的模塊,還有比較出名的是xlrd、xlwt 分別控制excel文件的讀寫,這倆個能夠兼容所有版本的文件。openpyxl 針對 excel 2003版本之前的兼容性可能不好 但是功能更加強大。
注意事項:
excel文件的版本及后綴
2003版本之前 excel的文件后綴是xls
2003版本之后 excel的文件后綴是xlsx、csv
2、創(chuàng)建文件相關
2、1.創(chuàng)建excel文件
關鍵詞:workbook
作用:
- 使用 openpyxl 創(chuàng)建文件。只需導入Workbook類
代碼用法:
導入模塊:
form openpyxl import workbook
代碼用法:
from openpyxl import Workbook
wb = Workbook
# 一個 excel 文件創(chuàng)建成功
2、2.創(chuàng)建工作簿
關鍵詞:cerate_sheet( )
作用:
- 使用 openpyxl 創(chuàng)可以創(chuàng)建自定義名稱的工作簿。括號里的參數(shù)是工作簿名稱,還有一個參數(shù)是工作簿的位置,也可以不寫建文件。只需導入Workbook類
- 可以創(chuàng)建多個工作簿,并且可按照順序排列
代碼用法:
導入模塊:
form openpyxl import workbook
代碼用法:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.cerate_sheet('工作簿名稱', 0)

sheet 是自動生成的
2、3.修改工作簿名稱
關鍵詞:title
作用:
- 可以更改工作簿名稱
- 通過待修改名稱工作簿‘點’的方式在后方賦予新的名稱
代碼用法:
導入模塊:
form openpyxl import workbook
代碼用法:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.cerate_sheet('用戶信息表', 0)
ws1.title = 'user_infor'

2、4.修改工作簿顏色
關鍵詞:sheet_properties.tabColor
作用:
- 用來給工作簿背景修改顏色,需要用到RGB色域
代碼用法:
導入模塊:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet('用戶信息表', 0)
ws1.sheet_properties.tabColor = 'FF6666'
# 將標題背景改為指定RRGGBB顏色代碼

2、5.查看文件所有工作簿
關鍵詞:sheetname
作用:
- 查看exexl文件下所有的工作簿,返回的是一個列表
代碼用法:
導入模塊:
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、寫入內容相關
3、1.寫入/修改內容
關鍵詞:ws[]
作用:
- 可以通過工作簿'點'的方式,在后方中括號內填寫內容的位置,來修改內容
代碼用法:
導入模塊:
from openpyxl import Workbook
代碼用法:
wb = Workbook()
ws1 = wb.create_sheet('uese_zhangzhang')
ws1['A1'] = 'kangkang'
# ws1['A1'] 代表的是該表中的 A1 位置,我們可以將數(shù)據(jù)直接賦值給它
關鍵詞:cell( )
作用:
- 可以通過工作簿'點'的方式,在后方參數(shù)內填寫內容的位置,來修改內容
- row:行
- colum:列
- value:值(對應位置的數(shù)據(jù))
代碼用法:
導入模塊:
from openpyxl import Workbook
代碼用法:
wb = Workbook()
ws1 = wb.create_sheet('uese_zhangzhang')
ws1.cell(row = 1, column= 1, value = 'kangkang')
# 在第一行,第一列,填入數(shù)值'kangkang'
3、2.一次寫入多個數(shù)據(jù)
關鍵詞:append()
作用:
- 可以一次性寫入多個數(shù)據(jù)值,通過行的方式寫入,在關鍵詞后方參數(shù)內將數(shù)據(jù)值以列表的形式寫入
代碼用法:
導入模塊:
from openpyxl import Workbook
代碼用法:
wb = Workbook()
ws = wb.cerate_sheet('user_name', 0)
ws.append(['序號', '姓名', '性別', '年齡'])
ws.append(['1', 'kangkang', '男', '18'])
4、讀取內容相關
4、1.訪問多個單元格
用法:直接使用切片操作的方式
代碼用法:
x = ws['A1':'C2'] x1 = ws['C'] x2 = ws['C:D'] x3 = ws[10] x4 = ws[5:10]
4、2.獲取單元格值
關鍵詞:values
作用:
- 使用for循環(huán)的方式,可以一次獲取整行文本數(shù)據(jù)值
代碼用法:
導入模塊:
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、保存文件
- 當我們編輯完文件后,就需要保存文件,同時賦予文件的名稱
關鍵詞:save( )
作用:
- 在關鍵詞后方參數(shù)內填入文件保存的地址,同時賦予文件名
代碼用法:
wb = Workbook()
wb.save('user_infor.xlsx')
# balances.xlsx 是保存的路徑,也就是文件名。
# 編輯完要保存才行。
6、打開文件
前面說的是我們如何創(chuàng)建文件,編輯創(chuàng)建后的文件,對創(chuàng)建的文件進行編輯。
下面所說的是我們如何打開現(xiàn)有的文件,并進行編輯
load_workbook
模塊導入:
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['用戶信息表'] # 拿到工作薄對象
print(ws['A1'].value) # 取出工作薄對象中 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基礎第三方模塊requests openpyxl的詳細內容,更多關于Python模塊requests openpyxl的資料請關注腳本之家其它相關文章!
相關文章
詳解關于Django中ORM數(shù)據(jù)庫遷移的配置
這篇文章主要介紹了詳解關于Django中ORM數(shù)據(jù)庫遷移的配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10
python生成多個只含0,1元素的隨機數(shù)組或列表的實例
今天小編就為大家分享一篇python生成多個只含0,1元素的隨機數(shù)組或列表的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
Python基于identicon庫創(chuàng)建類似Github上用的頭像功能
這篇文章主要介紹了Python基于identicon庫創(chuàng)建類似Github上用的頭像功能,結合具體實例形式分析了identicon庫操作圖形的具體步驟與相關使用技巧,需要的朋友可以參考下2017-09-09

