Python入門到實戰(zhàn)之網(wǎng)絡(luò)請求與數(shù)據(jù)獲取詳解
一、環(huán)境準(zhǔn)備,安裝requests庫
1.安裝命令(終端執(zhí)行)
#安裝requests庫 pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/ #(該方式是臨時指定的,每次下載需要去cmd終端下載庫 相對來說比較麻煩,每次添加庫的時候就要去cmd終端去下載)
2.解決安裝超時的問題(配置國內(nèi)鏡像源)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
說明:默認連接Python官方倉庫,國內(nèi)鏡像源(如清華源)可提升下載速度。
二、基本用法:發(fā)起GET請求
1.導(dǎo)入模塊與基礎(chǔ)請求
import requests #導(dǎo)入requests庫
# 在要獲取數(shù)據(jù)的瀏覽器頁面里,找到目標(biāo)URL(以疾病查詢頁面為例),鍵盤按下Fn+F12,查看是什么請求方式
url = 'https://www.youlai.cn/dise'
# 發(fā)起get請求,獲取響應(yīng)對象 將獲取到的響應(yīng)對象的結(jié)果給到變量res
res = requests.get(url)
# 打印響應(yīng)內(nèi)容(如果響應(yīng)結(jié)果是HTML文本內(nèi)容)
print("響應(yīng)內(nèi)容:",res.text)
2.處理中文亂碼問題
import requests
url = 'https://www.tjwenming.cn/'
res = requests.get(url)
# 手動指定編碼(根據(jù)目標(biāo)網(wǎng)頁的meta標(biāo)簽設(shè)置,此處以gb2312為例)
res.encoding = 'gb2312'
print('處理后的中午內(nèi)容:',res.text)
調(diào)用encoding前

調(diào)用encoding后

關(guān)鍵步驟:
- 檢查網(wǎng)頁源碼中的<metacharset="xxx">標(biāo)簽,獲取編碼格式(如utf-8、gbk、gb2312)。
- 通過response.encoding設(shè)置編碼,確保中文正常顯示。
三、帶參數(shù)的GET請求
1.參數(shù)傳遞方式
方式一:URL拼接參數(shù)(直接在URL中攜帶參數(shù))
import requests #包含參數(shù)的完整URL(從瀏覽器復(fù)制) url='https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1763364793381&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=2,3&keyword=&pageIndex=1&pageSize=10&language=zh-cn&area=cn' res = requests.get(url) print(res.text)
方式二:通過params參數(shù)傳遞
url = 'https://careers.tencent.com/tencentcareer/api/post/Query' # 注意寫基礎(chǔ)的URL 不帶后面的請求參數(shù)
params = { # 將請求參數(shù)通過字典的形式存起來,給到params
'timestamp': 1763364793381,
'ountryId': '',
'cityId': '',
'bgIds': '',
'productId': '',
'categoryId': '',
'parentCategoryId': '',
'attrId': '2,3', # 注意參數(shù)為字符串類型
'keyword': '',
'pageIndex': 1,
'pageSize': 10,
'language': 'zh-cn',
'area': 'cn'
}
# 發(fā)起請求時傳遞params參數(shù)
res = requests.get(url,params=params)
print(res.text)
四、獲取二進制數(shù)據(jù)(圖片、視頻等)
下載網(wǎng)絡(luò)圖片并保存
import requests
url = 'http://pic.enorth.com.cn/005/026/920/00502692031_21660ab6.jpg'
res = requests.get(url)
#如果請求網(wǎng)址對應(yīng)的數(shù)據(jù)為圖片視頻音頻
#獲取數(shù)據(jù)的方式:響應(yīng)對象.content--->字節(jié)數(shù)據(jù)
res_img = res.content
with open('1.jpg','wb') as f:
f.write(res_img)
關(guān)鍵點:
- 二進制數(shù)據(jù)通過response.content獲取,而非text。
- 文件擴展名需與內(nèi)容類型匹配(如.gif、.mp4、.jpg)。
到此這篇關(guān)于Python入門到實戰(zhàn)之網(wǎng)絡(luò)請求與數(shù)據(jù)獲取詳解的文章就介紹到這了,更多相關(guān)Python網(wǎng)絡(luò)請求和數(shù)據(jù)獲取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用seaborn繪圖直方圖displot,密度圖,散點圖
這篇文章主要介紹了python使用seaborn繪圖直方圖displot,密度圖,散點圖,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07
Python Requests訪問網(wǎng)絡(luò)更方便
這篇文章主要介紹了使用Python Requests訪問網(wǎng)絡(luò),Python Requests 是一個非常強大的 HTTP 客戶端庫,用于發(fā)送 HTTP 請求,獲取響應(yīng)等操作,通過這個庫,你可以輕松地與 Web 服務(wù)進行交互,實現(xiàn)各種網(wǎng)絡(luò)請求2024-01-01
代碼總結(jié)Python2 和 Python3 字符串的區(qū)別
在本篇文章里小編給大家整理的是一篇關(guān)于Python2 和 Python3 字符串的區(qū)別以及實例代碼,需要的朋友們學(xué)習(xí)下。2020-01-01
Python多進程與服務(wù)器并發(fā)原理及用法實例分析
這篇文章主要介紹了Python多進程與服務(wù)器并發(fā)原理及用法,深入淺出的介紹了進程、并行、并發(fā)、同步、異步等相關(guān)概念與原理,并結(jié)合實例形式給出了Python多進程編程相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
Python教程使用Chord包實現(xiàn)炫彩弦圖示例
在可視化中,有時候會使用到弦圖(Chord Diagram)來表示事物之間關(guān)系,本篇文章教大家如何使用Chord包實現(xiàn)炫彩弦圖,有需要的朋友可以借鑒參考下,希望大家多多進步,早日升職加薪2021-09-09

