最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬蟲之requests庫使用代理方式

 更新時間:2022年11月02日 09:13:36   作者:K哥爬蟲  
這篇文章主要介紹了python爬蟲之requests庫使用代理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

在看這篇文章之前,需要大家掌握的知識技能:

  • python基礎(chǔ)
  • html基礎(chǔ)
  • http狀態(tài)碼

讓我們看看這篇文章中有哪些知識點(diǎn):

  • get方法
  • post方法
  • header參數(shù),模擬用戶
  • data參數(shù),提交數(shù)據(jù)
  • proxies參數(shù),使用代理
  • 進(jìn)階學(xué)習(xí)

安裝上requests庫

pip install requests

先來看下幫助文檔,看看requests的介紹,用python自帶的help命令

import requests
help(requests)

output:

Help on package requests:

NAME
    requests

DESCRIPTION
    Requests HTTP Library
    ~~~~~~~~~~~~~~~~~~~~~
    
    Requests is an HTTP library, written in Python, for human beings. Basic GET
    usage:
    
       >>> import requests
       >>> r = requests.get('https://www.python.org')
       >>> r.status_code
       200
       >>> 'Python is a programming language' in r.content
       True
    
    ... or POST:
    
       >>> payload = dict(key1='value1', key2='value2')
       >>> r = requests.post('https://httpbin.org/post', data=payload)
       >>> print(r.text)
       {
         ...
         "form": {
           "key2": "value2",
           "key1": "value1"
         },
         ...
       }
    
    The other HTTP methods are supported - see `requests.api`. Full documentation
    is at <http://python-requests.org>.
    
    :copyright: (c) 2017 by Kenneth Reitz.
    :license: Apache 2.0, see LICENSE for more details.

這里解釋下,requests庫是由python編寫的對人類友好的http庫,并且舉例了GET與POST的方法。

GET方法

好的,那我們自己來測試下,就以請求百度為例吧,,,(誰讓百度這么耐抗的)

import requests
r = requests.get('https://www.baidu.com')
print(r.status_code) #打印返回的http code
print(r.text) #打印返回結(jié)果的text

方便點(diǎn),截了個圖給大家看,返回的code是200,說明請求正常拉回網(wǎng)頁了。

看下返回的text,有點(diǎn)不對頭,少了一些html標(biāo)簽,最起碼百度兩個字得有吧。嗯,這是什么原因,,,

相信有些同學(xué)已經(jīng)想到了,是沒有真實(shí)模擬用戶的請求,你去爬數(shù)據(jù),還不模擬用戶請求,那肯定限制你啊。這個時候需要加一個header參數(shù)來搞定,至少要加一個user-agent吧。好,那咋們?nèi)フ乙粋€ua吧。別百度了,自己動手,豐衣足食。教大家一個辦法,用谷歌或者火狐的開發(fā)者工具。

谷歌瀏覽器的開發(fā)者工具

打開新標(biāo)簽 —— 按F12——訪問下百度——找到NetWork——隨便點(diǎn)開一個——往下翻——看到ua了吧,復(fù)制上。

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
r = requests.get('https://www.baidu.com', headers=headers)
print(r.status_code)
print(r.text)

嗯~~~數(shù)據(jù)有點(diǎn)多,往下翻翻,這下就正常了嘛,數(shù)據(jù)都有了。。。PS:不信?可以自己輸出一個html文件,瀏覽器打開看看唄

POST方法

只需要把get改成post就好了

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
r = requests.post('https://www.baidu.com', headers=headers)
print(r.status_code)
print(r.text)

運(yùn)行下試試看。一般post都是用來提交表單信息的,嗯,這里找一個能提交數(shù)據(jù)的url,去post下。

用我自己寫的接口(PS:django寫的,挺方便),大家復(fù)制過去就好了。注意看代碼,data是要post的數(shù)據(jù),post方法里加了一個data參數(shù)。

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
# post的數(shù)據(jù)
data = {"info": "biu~~~ send post request"}
r = requests.post('http://dev.kdlapi.com/testproxy', headers=headers, data=data) #加一個data參數(shù)
print(r.status_code)
print(r.text)

截個圖給大家看下,http code 200,body信息說的post成功,并且返回的了我自己的IP信息以及post的數(shù)據(jù)

使用代理

為什么用代理?一般網(wǎng)站都有屏蔽的限制策略,用自己的IP去爬,被封了那該網(wǎng)站就訪問不了,這時候就得用代理IP來解決問題了。封吧,反正封的不是本機(jī)IP,封的代理IP。

既然使用代理,得先找一個代理IP。PS:自己寫個代理服務(wù)器太麻煩了,關(guān)鍵是我也不會寫啊,,,哈哈哈

import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
# post的數(shù)據(jù)
data = {"info": "biu~~~ send post request"}

# 代理信息,由快代理贊助
proxy = '115.203.28.25:16584'
proxies = {
    "http": "http://%(proxy)s/" % {'proxy': proxy},
    "https": "http://%(proxy)s/" % {'proxy': proxy}
}

r = requests.post('http://dev.kdlapi.com/testproxy', headers=headers, data=data, proxies=proxies) #加一個proxies參數(shù)
print(r.status_code)
print(r.text)

主要方法里加個proxies參數(shù),這就用上代理IP了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 8段用于數(shù)據(jù)清洗Python代碼(小結(jié))

    8段用于數(shù)據(jù)清洗Python代碼(小結(jié))

    這篇文章主要介紹了8段用于數(shù)據(jù)清洗Python代碼(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python實(shí)現(xiàn)去除空格及tab換行符的方法

    python實(shí)現(xiàn)去除空格及tab換行符的方法

    這篇文章主要為大家介紹了python實(shí)現(xiàn)去除空格及tab換行符的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 使用Puppeteer爬取微信文章的實(shí)現(xiàn)

    使用Puppeteer爬取微信文章的實(shí)現(xiàn)

    這篇文章主要介紹了使用Puppeteer爬取微信文章的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python實(shí)現(xiàn)FTP文件傳輸?shù)膶?shí)例

    Python實(shí)現(xiàn)FTP文件傳輸?shù)膶?shí)例

    在本篇文章里小編給各位分享的是關(guān)于Python實(shí)現(xiàn)FTP文件傳輸?shù)膶?shí)例以及相關(guān)代碼,需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • Python爬取股票交易數(shù)據(jù)并可視化展示

    Python爬取股票交易數(shù)據(jù)并可視化展示

    拋開炒股技術(shù)不說,?那么多股票數(shù)據(jù)是不是非常難找,找到之后是不是看著密密麻麻的數(shù)據(jù)是不是頭都大了?今天帶大家爬取雪球平臺的股票數(shù)據(jù)并將其可視化
    2021-12-12
  • 利用Python實(shí)現(xiàn)圖書超期提醒

    利用Python實(shí)現(xiàn)圖書超期提醒

    很多人喜歡逛圖書館,時不時去借本書,但每本書可能只可以借兩個月,一旦超期不還就會進(jìn)行相應(yīng)的處罰!為什么不寫個腳本來通知自己圖書超期呢?說了這么多廢話,我們就進(jìn)入主題吧?。?!
    2016-08-08
  • Python中定時任務(wù)框架APScheduler的快速入門指南

    Python中定時任務(wù)框架APScheduler的快速入門指南

    APScheduler是基于Quartz的一個Python定時任務(wù)框架,實(shí)現(xiàn)了Quartz的所有功能,使用起來十分方便。下面這篇文章主要跟大家介紹了Python中定時任務(wù)框架APScheduler的快速入門指南,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • pymongo如何通過oplog獲取數(shù)據(jù)(mongodb)

    pymongo如何通過oplog獲取數(shù)據(jù)(mongodb)

    使用MongoDB的oplog(操作日志)進(jìn)行數(shù)據(jù)同步是高級的用法,主要用于復(fù)制和故障恢復(fù),這篇文章主要介紹了pymongo通過oplog獲取數(shù)據(jù)(mongodb),需要的朋友可以參考下
    2023-09-09
  • Python之qq自動發(fā)消息的示例代碼

    Python之qq自動發(fā)消息的示例代碼

    這篇文章主要介紹了Python之qq自動發(fā)消息的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python遍歷目錄下文件、讀取、千萬條數(shù)據(jù)合并詳情

    Python遍歷目錄下文件、讀取、千萬條數(shù)據(jù)合并詳情

    這篇文章主要介紹了Python遍歷目錄下文件、讀取、千萬條數(shù)據(jù)合并詳情,對文件夾和文件進(jìn)行屬性判斷,首先對文件夾進(jìn)行遍歷,看文件夾里有什么樣的文件,讀取出文件夾中的所有文件,下面文章將詳細(xì)介紹該內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01

最新評論

台江县| 湘乡市| 平谷区| 溆浦县| 霸州市| 开化县| 罗平县| 凤庆县| 旺苍县| 惠水县| 满洲里市| 隆回县| 虞城县| 牡丹江市| 南平市| 樟树市| 苍溪县| 阿合奇县| 遂宁市| 外汇| 南丹县| 海南省| 蛟河市| 广州市| 黔西| 南安市| 当雄县| 克东县| 万盛区| 正宁县| 呼伦贝尔市| 安义县| 沾化县| 新平| 靖安县| 阿尔山市| 西丰县| 镇江市| 扎兰屯市| 黄大仙区| 延川县|