真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python爬蟲request模塊如何使用

本篇文章為大家展示了Python爬蟲request模塊如何使用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出武漢免費(fèi)做網(wǎng)站回饋大家。

爬蟲——requests模塊

Requests繼承了urllib.request的所有特性,Requests支持HTTP連接保持和連接池,支持使用cookie保持會(huì)話,支持文件上傳,支持自動(dòng)確定響應(yīng)內(nèi)容的編碼,支持國際化的URL和POST數(shù)據(jù)自動(dòng)編碼。

相較于urllib.request而言,其使用更加簡(jiǎn)潔方便。

基本GET請(qǐng)求(headers參數(shù)和parmas參數(shù))

1.最基本的GET請(qǐng)求可以直接用get方法

#!/usr/bin/python3
# -*- coding:utf-8 -*-
import requests
 
response = requests.get("http://www.baidu.com/")
# 也可以這么寫
# response = requests.request("get", "http://www.baidu.com/")

2.添加headers和查詢參數(shù)

如果想添加headers,可以傳入headers參數(shù)來增加請(qǐng)求頭中的headers信息。如果要將參數(shù)放在url中傳遞,可以利用params參數(shù)。

#!/usr/bin/python3
# -*- coding:utf-8 -*-
 
import requests
 
url = "http://www.baidu.com/s?"
 
kw = {"wd":"爬蟲"}
 
# User-Agent頭
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
 
# params接收一個(gè)字典或者字符串的查詢參數(shù),字典類型自動(dòng)轉(zhuǎn)換為url編碼,不需要urlencode()
response = requests.get(url = url, params = kw, headers = header)
 
# 打印響應(yīng)內(nèi)容,response.text返回的是Unicode格式的數(shù)據(jù)
print(response.text)
# 打印響應(yīng)內(nèi)容,response.content返回的是字節(jié)流數(shù)據(jù)
# print(response.content)
 
# 查看完整的url地址
print(response.url)
 
# 查看響應(yīng)頭部字符編碼
print(response.encoding)
 
# 查看響應(yīng)碼
print(response.status_code)

使用response.text時(shí),requests會(huì)基于HTTP響應(yīng)的文本編碼自動(dòng)解碼響應(yīng)內(nèi)容,大多數(shù)Unicode字符集都能被無縫地解碼。

使用response.content時(shí),返回的是服務(wù)器響應(yīng)數(shù)據(jù)的原始二進(jìn)制字節(jié)流,可以用來保存圖片等二進(jìn)制文件。

基本POST討還(data參數(shù))

1.最基本的GET請(qǐng)求可以直接用post方法

#!/usr/bin/python3
# -*- coding:utf-8 -*-
 
import requests
 
response = requests.post("http://www.baidu.com/")
# 也可以這么寫
# response = requests.request("post", "http://www.baidu.com/")

2.傳入data數(shù)據(jù)

對(duì)于POST請(qǐng)求來說,我們一般需要為它增加一些參數(shù)。那么最基本的傳參方法可以利用data這個(gè)參數(shù)。

#!/usr/bin/python3
# -*- coding:utf-8 -*-
 
import requests
 
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
 
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
 
word = input("請(qǐng)輸入需要翻譯的詞條:")
 
from_data = {
    "i":word,
    "from":"AUTO",
    "to":"AUTO",
    "smartresult":"dict",
    "doctype":"json",
    "version":"2.1",
    "keyfrom":"fanyi.wed"
}
 
response = requests.post(url = url, data = from_data, headers = header)
 
# print(response.text)
print(response.json())

代理(proxies參數(shù))

如果需要使用代理,你可以通過為任意請(qǐng)求方法提供proxies參數(shù)來配置單個(gè)請(qǐng)求:

#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
 
import requests
 
# 根據(jù)協(xié)議類型,選擇不同的代理
proxies = {
    "http": "http://12.34.56.78:90",
    "https": "http://21.43.65.87:90"
}
 
response = requests.get("http://www.baidu.com/", proxies = proxies)
 
print(response.text)

Cookies和Sission

1.Cookies

如果一個(gè)響應(yīng)中包含了cookie,那么我們可以利用cookies參數(shù)拿到:

#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
 
import requests
 
response = requests.get("http://www.baidu.com/")
 
cookiejar = response.cookies
 
cookiedict = requests.utils.dict_from_cookiejar(cookiejar)
 
print(cookiejar)
 
print(cookiedict)

2.Sission

在requests里,session對(duì)象是一個(gè)非常常用的對(duì)象,這個(gè)對(duì)象代表一次用戶會(huì)話:從客戶端連接服務(wù)器開始,到客戶端瀏覽器與服務(wù)器斷開。

會(huì)話能讓我們?cè)诳缯?qǐng)求時(shí)候保持某些參數(shù),比如在同一個(gè)Session實(shí)例發(fā)出的所有請(qǐng)求之間保持cookie。

實(shí)現(xiàn)人人網(wǎng)登錄

#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
 
import requests
 
# 創(chuàng)建session對(duì)象,用于保存Cookie值
session = requests.session()
 
# User-Agent頭
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
 
# 需要登錄的賬戶和密碼
email = input("請(qǐng)輸入您的賬戶:")
password = input("請(qǐng)輸入您的密碼:")
data = {"email": email, "password": password}
 
# 發(fā)送附帶賬戶密碼的請(qǐng)求,并獲取登錄后的Cookie值,保存在session中
session.post("http://www.renren.com/PLogin.do", data = data)
 
# session中包含了登錄后的Cookie值,可以直接訪問那些需登錄后才能訪問的頁面
response = session.get("http://www.renren.com/413928886/profile")
 
# 打印響應(yīng)內(nèi)容
print(response.text)

上述內(nèi)容就是Python爬蟲request模塊如何使用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前標(biāo)題:Python爬蟲request模塊如何使用
路徑分享:http://weahome.cn/article/gjisjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部