亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

python中requests庫怎么安裝與使用?

89542767 / 982人閱讀

   小編寫這篇文章的主要目的,是來給大家去做一個介紹,介紹的內(nèi)容是python requests庫,包括介紹它的一些安裝方法,以及怎樣才能夠迅速的去進(jìn)行安裝。另外,還需要介紹的就是其使用方法,就具體的內(nèi)容,下面小編就給大家詳細(xì)解答下。


  前言


  記得我剛學(xué)python-requests庫的時候總會有點(diǎn)暈,于是我做了以下關(guān)于requests庫的知識點(diǎn)整理,方便初學(xué)者可以更好的了解requests庫。如果有補(bǔ)充或錯誤,或者不懂的地方,可以評論區(qū)留言。


  1、Requests介紹


  Requests是Python一個很實(shí)用的HTTP客戶端,完全滿足如今網(wǎng)絡(luò)爬蟲的需求


  urllib庫和requests庫功能類似,但requests庫功能更多更實(shí)用


  2、requests庫的安裝


  pip命令安裝(方法一)


  windows操作系統(tǒng):pip install requests


  Mac操作系統(tǒng):pip3 install requests


  Linux操作系統(tǒng):sodo pip install requests


  源碼安裝(方法二)


  下載requests源碼http://mirrors.aliyun.com/pypi/simple/requests/


  下載文件到本地之后,解壓到Python安裝目錄,之后打開解壓文


  運(yùn)行命令行輸入python setup.py install即可安裝


  測試


  import requests


  如果沒提示錯誤,那說明已經(jīng)安裝成功了!


  3、requests庫常用的方法

01.png

  最常用的方法為get()和post()分別用于發(fā)送Get請求和Post請求


  4、response對象的常用屬性

02.png

  5、使用requests發(fā)送get請求


  不帶參數(shù)的get請求


  案例:爬取百度主頁


  帶參數(shù)的get請求


  案例:貼吧


  獲取JSON數(shù)據(jù)


  案例:百度美女圖片


  獲取二進(jìn)制數(shù)據(jù)


  案例:下載百度logo


  5.1不帶參數(shù)的get請求


  #不帶參數(shù)的get請求
  import requests
  url='http://www.baidu.com'
  resp=requests.get(url)
  #設(shè)置響應(yīng)的經(jīng)編碼格式
  resp.encoding='utf-8'
  cookie=resp.cookies#獲取請求后的cookie信息
  headers=resp.headers
  print('響應(yīng)狀態(tài)碼:',resp.status_code)
  print('請求后的cookie:',cookie)
  print('獲取請求的網(wǎng)址:',resp.url)
  print('響應(yīng)頭:',headers)
  print('響應(yīng)內(nèi)容',resp.text)

  ----------------------------------以下為輸出結(jié)果----------------------------------


  '''
  響應(yīng)狀態(tài)碼:200
  請求后的cookie:<RequestsCookieJar[<Cookie BDORZ=27315 for.baidu.com/>]>
  獲取請求的網(wǎng)址:http://www.baidu.com/
  響應(yīng)頭:{'Cache-Control':'private,no-cache,no-store,proxy-revalidate,no-transform','Connection':'keep-alive','Content-Encoding':'gzip','Content-Type':'text/html','Date':'Fri,23 Apr 2021 00:10:35 GMT','Last-Modified':'Mon,23 Jan 2017 13:28:16 GMT','Pragma':'no-cache','Server':'bfe/1.0.8.18','Set-Cookie':'BDORZ=27315;max-age=86400;domain=.baidu.com;path=/','Transfer-Encoding':'chunked'}
  響應(yīng)內(nèi)容<!DOCTYPE html>
  <!--STATUS OK--><html><head><meta http-equiv=content-type.........
  '''


  5.2帶參數(shù)的get請求


  5.2.1查詢參數(shù)params


  params,數(shù)據(jù)類型為字典


  作用:對URL地址中的查詢參數(shù)自動進(jìn)行編碼拼接


  使用示例:resp=requests.get(url=baseurl,params=params,headers=headers)


  #帶參數(shù)的get請求
  import requests
  url='https://tieba.baidu.com/f?'
  params={'kw':'大學(xué)吧','pn':'3'}
  headers={'User-Agent':'Mozilla/5.0(Windows NT 6.1;WOW64)'}
  #開始請求
  html=requests.get(url=url,params=params,headers=headers).text
  print(html)


  5.2.2 SSL證書認(rèn)證參數(shù)verify


  參數(shù)值:True(默認(rèn))|False


  適用網(wǎng)站:https類型網(wǎng)站但是沒有經(jīng)過證書認(rèn)證機(jī)構(gòu)認(rèn)證的網(wǎng)站


  適用場景:當(dāng)程序中拋出SSLError異常則考慮使用此參數(shù)


  使用示例:requests.get(url=url,headers=headers,verify=False)


  當(dāng)verify參數(shù)設(shè)置為False時,則不會再對網(wǎng)站進(jìn)行SSL證書認(rèn)證


  5.2.3設(shè)置超時時間timeout


  我們可以通過timeout屬性設(shè)置超時時間,一旦超過這個時間還沒獲得響應(yīng)內(nèi)容,就會提示錯誤。


  import requests
  requests.get('http://github.com',timeout=0.001)
  ---------------------以下為輸出結(jié)果(報錯)---------------------
  Traceback(most recent call last):
  File"<stdin>",line 1,in<module>
  requests.exceptions.Timeout:HTTPConnectionPool(host='github.com',port=80):Request timed out.(timeout=0.001)


  5.2.4代理IP參數(shù)proxies


  5.2.4.1免費(fèi)代理IP


  語法格式:proxies={'協(xié)議':'協(xié)議://IP:端口號'}


  示例:

03.png

  當(dāng)我們抓取的地址為http時,則會選擇proxies中http的代理,反之為https


  import requests
  url='http://httpbin.org/get'
  headers={'User-Agent':'Mozilla/5.0'}
  #定義代理,再代理IP網(wǎng)站中查找免費(fèi)代理IP
  proxies={
  'http':'http://112.85.164.220:9999',
  'https':'https://112.85.164.220:9999'
  }
  html=requests.get(url=url,proxies=proxies,headers=headers,timeout=5).text
  print(html)

  5.2.4.1私密代理和獨(dú)享代理


  語法格式:proxies={'協(xié)議':'協(xié)議://用戶名:密碼 IP:端口號'}


  示例:

04.png

  5.3獲取JSON數(shù)據(jù)


  #獲取json數(shù)據(jù)
  #案例:百度獲取宮崎駿動漫圖片
  #滑動頁面,URL沒變化,F(xiàn)12中的文件越來越多,說明這是動態(tài)網(wǎng)頁
  #選擇XHR中的一個,復(fù)制其Request URL,粘貼給url
  import requests
  url='https://image.baidu.com/search/acjson?tn=resultjson_com&logid=10167214135414424439&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%AE%AB%E5%B4%8E%E9%AA%8F%E5%8A%A8%E6%BC%AB%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&hd=&latest=&copyright=&word=%E5%AE%AB%E5%B4%8E%E9%AA%8F%E5%8A%A8%E6%BC%AB%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=&fr=&expermode=&force=&pn=30&rn=30&gsm=1e&1619134335166='
  resp=requests.get(url)
  json_data=resp.json()
  print(json_data)


  5.4獲取二進(jìn)制數(shù)據(jù)


  一般來說,對于非文本請求,可以以字節(jié)形式訪問響應(yīng)正文。


  #獲取二進(jìn)制數(shù)據(jù)
  #案例:保存百度圖片
  import requests
  url='https://www.baidu.com/img/bd_logo1.png'
  resp=requests.get(url)
  #存儲
  with open('logo.png','wb')as file:
  #resp.content:把response對象轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)
  file.write(resp.content)

  6、使用requests發(fā)送post請求


  語法結(jié)構(gòu)


  requests.post(url,data=None,json=None)


  參數(shù)說明


  url:需要爬取的網(wǎng)站的網(wǎng)址


  data:請求數(shù)據(jù)


  json:json格式的數(shù)據(jù)


  案例:登錄小說樓


  https://www.xslou.com/login.php


  import requests
  url='https://www.xslou.com/login.php'
  data={'username':'18600605736','password':'57365736','action':'login'}
  resp=requests.post(url,data)
  resp.encoding='gb2312'
  print('響應(yīng)狀態(tài)碼:',resp.status_code)#200
  print('響應(yīng)內(nèi)容',resp.text)#<html>......</html>


  7、使用requests的session發(fā)送請求


  import requests
  url='https://www.xslou.com/login.php'
  data={'username':'18600605736','password':'57365736','action':'login'}
  #使用session發(fā)送請求
  session=requests.session()
  resp=session.post(url,data=data)#使用session發(fā)送post請求
  resp.encoding='gb2312'
  #print(resp.text)#<html>..<title>登錄成功</title>....</html>

  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)砀嗟膸椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/128271.html

相關(guān)文章

  • Sanic教程:快速開始

    摘要:快速開始在安裝之前在支持異步的過程中,都經(jīng)歷了哪些比較重大的更新。踏出第一步我們將正式使用來構(gòu)建一個項(xiàng)目,讓我們踏出第一步,利用來編寫一個返回字符串的服務(wù)程序。本次示例的源代碼全部在上,見。 快速開始 在安裝Sanic之前,讓我們一起來看看Python在支持異步的過程中,都經(jīng)歷了哪些比較重大的更新。 首先是Python3.4版本引入了asyncio,這讓Python有了支持異步IO的標(biāo)...

    warmcheng 評論0 收藏0
  • 【譯】Python3進(jìn)行HTTP請求的4種方式

    摘要:由于是同一起進(jìn)行分發(fā)和安裝的,因此無需使用進(jìn)行安裝。首先用進(jìn)行安裝向發(fā)送請求輸出結(jié)果我們剛剛向發(fā)出了一個請求,同時創(chuàng)建了一個名為的對象,之后使用內(nèi)置的解碼器來處理我們請求的內(nèi)容。當(dāng)每個請求成功后,響應(yīng)內(nèi)容將被添加到數(shù)據(jù)列表中。 翻譯:瘋狂的技術(shù)宅原文標(biāo)題:HTTP Requests in Python 3原文鏈接:https://www.twilio.com/blog/2...本文首發(fā)...

    lordharrd 評論0 收藏0
  • 一步步搭建物聯(lián)網(wǎng)系統(tǒng)——Python 代碼如散文

    摘要:代碼如散文作為一門計(jì)算機(jī)語言來說,會有下面的特點(diǎn)。而則通過這些擴(kuò)展庫將眾多的開源函數(shù)庫連接在一起,是名符其實(shí)的膠水語言。下面是我們將會在后面用到的代碼在線查看一步步搭建物聯(lián)網(wǎng)系統(tǒng)圖靈電子書版一步步搭建物聯(lián)網(wǎng)系統(tǒng) Python 代碼如散文 showImg(http://designiot.phodal.com/images/python.png); 作為一門計(jì)算機(jī)語言來說,Pytho...

    luckyyulin 評論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---1、請求安裝Requests、Selenium、ChromeDr

    摘要:下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)請求庫安裝爬蟲可以簡單分為幾步抓取頁面分析頁面存儲數(shù)據(jù)。相關(guān)鏈接官方網(wǎng)站官方文檔中文文檔安裝驗(yàn)證安裝進(jìn)入命令行交互模式,導(dǎo)入一下包,如果沒有報錯,則證明安裝成功。 下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---2、請求庫安裝:GeckoDriver、PhantomJS、Aiohttp 爬蟲可以簡單分為幾步:抓取頁面、分析頁面、存儲數(shù)據(jù)。 在第一步抓取頁面的過程中,...

    wawor4827 評論0 收藏0
  • Python3 實(shí)現(xiàn)火車票查詢工具

    摘要:項(xiàng)目簡介使用抓取網(wǎng)站信息提供一個命令行的火車票查詢工具。項(xiàng)目由小蝸牛發(fā)布在實(shí)驗(yàn)樓,項(xiàng)目在線練習(xí)地址實(shí)現(xiàn)火車票查詢工具,可以直接在教程中下載代碼使用。命令行參數(shù)解析工具。 showImg(https://segmentfault.com/img/remote/1460000006767253);項(xiàng)目簡介:使用 Python3 抓取 12306 網(wǎng)站信息提供一個命令行的火車票查詢工具。通過...

    fuyi501 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<