中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

關(guān)于做網(wǎng)站的google play store

關(guān)于做網(wǎng)站的,google play store,做網(wǎng)站用什么軟件,軍事國(guó)際新聞最新消息Python 爬蟲(chóng)入門(mén)(七):requests 庫(kù)的使用「詳細(xì)介紹」 前言1. 初識(shí) requests1.1 安裝 requests 庫(kù)1.2 發(fā)送 GET 請(qǐng)求1.3 發(fā)送 POST 請(qǐng)求 2. HTTP 請(qǐng)求詳解2.1 請(qǐng)求方法2.2 請(qǐng)求頭2.3 請(qǐng)求參數(shù) 3. 處理響應(yīng)3.1 響應(yīng)內(nèi)容3.2 響應(yīng)狀態(tài)碼3.3 響應(yīng)頭…

Python 爬蟲(chóng)入門(mén)(七):requests 庫(kù)的使用「詳細(xì)介紹」

  • 前言
  • 1. 初識(shí) requests
    • 1.1 安裝 requests 庫(kù)
    • 1.2 發(fā)送 GET 請(qǐng)求
    • 1.3 發(fā)送 POST 請(qǐng)求
  • 2. HTTP 請(qǐng)求詳解
    • 2.1 請(qǐng)求方法
    • 2.2 請(qǐng)求頭
    • 2.3 請(qǐng)求參數(shù)
  • 3. 處理響應(yīng)
    • 3.1 響應(yīng)內(nèi)容
    • 3.2 響應(yīng)狀態(tài)碼
    • 3.3 響應(yīng)頭
  • 4. 會(huì)話(huà)保持
  • 5. SSL 證書(shū)驗(yàn)證
  • 6. 使用代理
  • 7. 文件上傳與下載
    • 7.1 文件上傳
    • 7.2 文件下載
  • 8. 處理復(fù)雜的網(wǎng)頁(yè)
  • 9. 實(shí)戰(zhàn)項(xiàng)目:抓取數(shù)據(jù)
    • 9.1 項(xiàng)目需求
    • 9.2 項(xiàng)目步驟
    • 9.3 示例代碼
    • 總結(jié)

前言

  • 歡迎來(lái)到“Python 爬蟲(chóng)入門(mén)”系列的第七篇文章。本篇文章將詳細(xì)介紹如何使用 requests 庫(kù)進(jìn)行網(wǎng)絡(luò)請(qǐng)求,包括發(fā)送各種類(lèi)型的 HTTP 請(qǐng)求、處理響應(yīng)、會(huì)話(huà)保持、SSL 證書(shū)驗(yàn)證、代理設(shè)置、文件上傳與下載等內(nèi)容。

  • 在本篇文章的代碼示例中,我將使用https://jsonplaceholder.typicode.com 網(wǎng)站的數(shù)據(jù),這是一個(gè)提供假數(shù)據(jù)的免費(fèi) REST API 服務(wù)的網(wǎng)站。這個(gè)服務(wù)由 JSON Server 和 LowDB 支持,每月提供約30億次請(qǐng)求。它被稱(chēng)為 “JSONPlaceholder”,常用于測(cè)試和原型設(shè)計(jì)。

  • requests 庫(kù)是 Python 中最流行的 HTTP 庫(kù)之一,因其簡(jiǎn)單易用和功能強(qiáng)大而廣受歡迎。如果你是一個(gè)爬蟲(chóng)開(kāi)發(fā)新手,本篇文章將幫助你全面掌握 requests庫(kù)的用法,從而提升你的爬蟲(chóng)開(kāi)發(fā)技能。

1. 初識(shí) requests

1.1 安裝 requests 庫(kù)

首先,確保你已經(jīng)安裝了 requests 庫(kù)。如果沒(méi)有安裝,可以使用以下命令安裝:

pip install requests

1.2 發(fā)送 GET 請(qǐng)求

我們先從最基本的 GET 請(qǐng)求開(kāi)始。

import requests# 發(fā)送 GET 請(qǐng)求
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)  # 輸出狀態(tài)碼
print(response.json())  # 輸出響應(yīng)內(nèi)容

上面的代碼向 https://jsonplaceholder.typicode.com/posts 發(fā)送了一個(gè) GET 請(qǐng)求,并打印出響應(yīng)的狀態(tài)碼和內(nèi)容。
在這里插入圖片描述

1.3 發(fā)送 POST 請(qǐng)求

接下來(lái),我們來(lái)發(fā)送一個(gè) POST 請(qǐng)求。

import requests# 發(fā)送 POST 請(qǐng)求
data = {'title': 'foo','body': 'bar','userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)  # 輸出狀態(tài)碼
print(response.json())  # 輸出響應(yīng)內(nèi)容

在這個(gè)例子中,我們向 https://jsonplaceholder.typicode.com/posts 發(fā)送了一個(gè) POST 請(qǐng)求,并附帶了一些數(shù)據(jù)。
在這里插入圖片描述

2. HTTP 請(qǐng)求詳解

2.1 請(qǐng)求方法

requests 庫(kù)支持多種 HTTP 請(qǐng)求方法,包括 GET、POST、PUT、DELETE、HEAD、OPTIONS 等。

import requests# 發(fā)送 PUT 請(qǐng)求
data = {'id': 1,'title': 'foo','body': 'bar','userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)  # 輸出狀態(tài)碼
print(response.json())  # 輸出響應(yīng)內(nèi)容

發(fā)送 PUT 請(qǐng)求執(zhí)行結(jié)果如下:
在這里插入圖片描述

import requests# 發(fā)送 DELETE 請(qǐng)求
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)  # 輸出狀態(tài)碼

發(fā)送 DELETE 請(qǐng)求執(zhí)行結(jié)果如下:
在這里插入圖片描述

2.2 請(qǐng)求頭

有時(shí)候我們需要在請(qǐng)求中添加一些頭信息,例如 User-Agent、Content-Type 等。

import requests# 添加請(qǐng)求頭
headers = {'User-Agent': 'Mozilla/5.0','Content-Type': 'application/json'
}
response = requests.get('https://jsonplaceholder.typicode.com/posts', headers=headers)
print(response.status_code)  # 輸出狀態(tài)碼
print(response.json())  # 輸出響應(yīng)內(nèi)容

2.3 請(qǐng)求參數(shù)

我們可以通過(guò) URL 參數(shù)來(lái)傳遞數(shù)據(jù)。

import requests# 添加請(qǐng)求參數(shù)
params = {'userId': 1
}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.status_code)  # 輸出狀態(tài)碼
print(response.json())  # 輸出響應(yīng)內(nèi)容

執(zhí)行結(jié)果如下:
在這里插入圖片描述

3. 處理響應(yīng)

3.1 響應(yīng)內(nèi)容

響應(yīng)內(nèi)容可以是 JSON、文本、二進(jìn)制數(shù)據(jù)等。

import requestsresponse = requests.get('https://jsonplaceholder.typicode.com/posts/1')# 獲取響應(yīng)內(nèi)容
print(response.text)  # 以字符串形式輸出
print(response.json())  # 以 JSON 形式輸出
print(response.content)  # 以二進(jìn)制形式輸出

執(zhí)行結(jié)果如下:
在這里插入圖片描述

3.2 響應(yīng)狀態(tài)碼

我們可以通過(guò)響應(yīng)對(duì)象的 status_code 屬性來(lái)獲取狀態(tài)碼。
在這里插入圖片描述

3.3 響應(yīng)頭

響應(yīng)頭包含了很多有用的信息,例如服務(wù)器類(lèi)型、內(nèi)容類(lèi)型等。

import requestsresponse = requests.get('https://jsonplaceholder.typicode.com/posts/1')
print(response.headers)

執(zhí)行結(jié)果如下:
在這里插入圖片描述

4. 會(huì)話(huà)保持

使用 requests 庫(kù)的會(huì)話(huà)對(duì)象可以在多個(gè)請(qǐng)求之間保持某些參數(shù)。

import requests# 創(chuàng)建會(huì)話(huà)對(duì)象
session = requests.Session()# 設(shè)置會(huì)話(huà)級(jí)別的請(qǐng)求頭
session.headers.update({'User-Agent': 'Mozilla/5.0'})# 發(fā)送請(qǐng)求
response = session.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)
print(response.json())

5. SSL 證書(shū)驗(yàn)證

requests 庫(kù)默認(rèn)會(huì)驗(yàn)證 SSL 證書(shū)。你可以通過(guò) verify 參數(shù)來(lái)控制這一行為。

import requests# 禁用 SSL 證書(shū)驗(yàn)證
response = requests.get('https://jsonplaceholder.typicode.com/posts', verify=False)
print(response.status_code)

執(zhí)行結(jié)果如下:
在這里插入圖片描述

6. 使用代理

在爬蟲(chóng)開(kāi)發(fā)中,使用代理可以幫助我們隱藏真實(shí)的 IP 地址。

import requestsproxies = {'http': 'http://10.10.10.10:8000','https': 'http://10.10.10.10:8000'
}response = requests.get('https://jsonplaceholder.typicode.com/posts', proxies=proxies)
print(response.status_code)

7. 文件上傳與下載

7.1 文件上傳

我們可以使用 requests 庫(kù)輕松地上傳文件。

import requests# 文件上傳
files = {'file': open('example.txt', 'rb')}
response = requests.post('https://jsonplaceholder.typicode.com/posts', files=files)
print(response.status_code)
print(response.json())

7.2 文件下載

同樣地,我們也可以下載文件。

import requestsresponse = requests.get('https://jsonplaceholder.typicode.com/photos/1', stream=True)
with open('photo.jpg', 'wb') as file:for chunk in response.iter_content(chunk_size=128):file.write(chunk)
print('文件下載完成')

8. 處理復(fù)雜的網(wǎng)頁(yè)

對(duì)于一些復(fù)雜的網(wǎng)頁(yè),我們可能需要處理 JavaScript 動(dòng)態(tài)加載的內(nèi)容。這時(shí)可以結(jié)合 requestsBeautifulSoup 庫(kù)來(lái)實(shí)現(xiàn)。

import requests
from bs4 import BeautifulSoupresponse = requests.get('https://jsonplaceholder.typicode.com/')
soup = BeautifulSoup(response.text, 'html.parser')# 提取標(biāo)題
titles = soup.find_all('title')
for title in titles:print(title.text)

執(zhí)行結(jié)果如下:
在這里插入圖片描述

9. 實(shí)戰(zhàn)項(xiàng)目:抓取數(shù)據(jù)

接下來(lái),我們將結(jié)合前面所學(xué)的內(nèi)容,編寫(xiě)一個(gè)完整的爬蟲(chóng)項(xiàng)目,從網(wǎng)站中抓取數(shù)據(jù)并保存到 CSV 文件中。

9.1 項(xiàng)目需求

  1. https://jsonplaceholder.typicode.com/posts 提取標(biāo)題和鏈接。
  2. 將數(shù)據(jù)保存到 CSV 文件中。

9.2 項(xiàng)目步驟

  1. 發(fā)送請(qǐng)求并獲取響應(yīng)。
  2. 解析響應(yīng)內(nèi)容。
  3. 保存數(shù)據(jù)到 CSV 文件。

9.3 示例代碼

import requests
import csvdef fetch(url):response = requests.get(url)if response.status_code == 200:data = []posts = response.json()for post in posts:title = post['title']link = f"https://jsonplaceholder.typicode.com/posts/{post['id']}"data.append([title, link])return dataelse:print('請(qǐng)求失敗,狀態(tài)碼:', response.status_code)return []def save_to_csv(data, filename):with open(filename, 'w', newline='', encoding='utf-8') as file:writer = csv.writer(file)writer.writerow(['Title', 'Link'])writer.writerows(data)if __name__ == '__main__':url = 'https://jsonplaceholder.typicode.com/posts'data = fetch(url)if data:save_to_csv(data, 'datas.csv')print('數(shù)據(jù)已保存到 datas.csv')

總結(jié)

通過(guò)本篇文章的學(xué)習(xí),相信小伙伴們已經(jīng)掌握了 requests 庫(kù)的基本用法,涵蓋了發(fā)送各種請(qǐng)求、處理響應(yīng)、會(huì)話(huà)保持、SSL 證書(shū)驗(yàn)證、代理設(shè)置、文件上傳與下載等內(nèi)容。

http://m.risenshineclean.com/news/58378.html

相關(guān)文章:

  • 專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)制作費(fèi)用昆明關(guān)鍵詞優(yōu)化
  • 服裝品牌網(wǎng)站怎么做如何開(kāi)網(wǎng)店
  • 怎么樣創(chuàng)建一個(gè)網(wǎng)站產(chǎn)品線(xiàn)上營(yíng)銷(xiāo)方案
  • 一個(gè)人可以做幾個(gè)網(wǎng)站負(fù)責(zé)人灰色詞排名推廣
  • 做一家網(wǎng)站需要多少錢(qián)網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣策劃書(shū)
  • 大眾軟件回應(yīng)中國(guó)芯片行業(yè)最大投資seo排名優(yōu)化公司哪家好
  • 溫州網(wǎng)站建設(shè)服務(wù)電子商務(wù)網(wǎng)絡(luò)公司優(yōu)化seo深圳
  • 網(wǎng)站上上傳圖片 怎么做社交網(wǎng)絡(luò)推廣方法
  • 公司剛成立網(wǎng)站怎么做如何推廣我的網(wǎng)站
  • 制作微網(wǎng)站公司軟文新聞發(fā)布網(wǎng)站
  • ih5平臺(tái)發(fā)展前景關(guān)鍵詞優(yōu)化
  • 一級(jí)a做爰片免費(fèi)無(wú)碼網(wǎng)站seo關(guān)鍵詞優(yōu)化的技巧
  • 廣東省做農(nóng)業(yè)網(wǎng)站銷(xiāo)售的公司上海seo招聘
  • 做公司網(wǎng)站比較好的寧波網(wǎng)站推廣平臺(tái)效果好
  • 網(wǎng)站引導(dǎo)頁(yè)怎么做的做個(gè)公司網(wǎng)站多少錢(qián)
  • 一級(jí)a做爰片完整網(wǎng)站網(wǎng)站搭建需要多少錢(qián)?
  • 山西運(yùn)城網(wǎng)站開(kāi)發(fā)seo就業(yè)前景如何
  • 互聯(lián)網(wǎng)公司網(wǎng)站建設(shè)ppt模板下載站長(zhǎng)素材免費(fèi)下載
  • 網(wǎng)站架構(gòu)設(shè)計(jì)師蘋(píng)果cms永久免費(fèi)建站程序
  • wordpress添加logo武漢seo霸屏
  • 如何自己做個(gè)簡(jiǎn)單網(wǎng)站神馬搜索推廣
  • 酒店 網(wǎng)站建設(shè) 中企動(dòng)力如何引流推廣
  • 什么網(wǎng)站做海報(bào)賺錢(qián)武漢大學(xué)人民醫(yī)院
  • 2345應(yīng)用商店深圳網(wǎng)站設(shè)計(jì)十年樂(lè)云seo
  • 重慶優(yōu)化網(wǎng)站推廣seo點(diǎn)擊
  • 湘潭網(wǎng)站優(yōu)化公司服務(wù)營(yíng)銷(xiāo)案例
  • 牡丹江站建站seo推廣
  • 網(wǎng)站的圖書(shū)資源建設(shè)網(wǎng)絡(luò)工程師是干什么的
  • 泰安網(wǎng)絡(luò)教育肇慶seo優(yōu)化
  • html5 中文網(wǎng)站模板廣告設(shè)計(jì)網(wǎng)站