在看這篇文章之前,需要大家掌握的知識(shí)技能:
創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營(yíng)銷策劃、成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、成都微信小程序、成都h5網(wǎng)站建設(shè)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、網(wǎng)絡(luò)營(yíng)銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。python基礎(chǔ)
html基礎(chǔ)
http狀態(tài)碼
讓我們看看這篇文章中有哪些知識(shí)點(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 .
:copyright: (c) 2017 by Kenneth Reitz.
:license: Apache 2.0, see LICENSE for more details.
這里解釋下,requests庫是由python編寫的對(duì)人類友好的http庫,并且舉例了GET與POST的方法。
GET方法
好的,那我們自己來測(cè)試下,就以請(qǐng)求百度為例吧,,,(誰讓百度這么耐抗的)
import requests
r = requests.get('https://www.baidu.com')
print(r.status_code) #打印返回的http code
print(r.text) #打印返回結(jié)果的text
方便點(diǎn),截了個(gè)圖給大家看,返回的code是200,說明請(qǐng)求正常拉回網(wǎng)頁了。
看下返回的text,有點(diǎn)不對(duì)頭,少了一些html標(biāo)簽,最起碼百度兩個(gè)字得有吧。嗯,這是什么原因,,,
相信有些同學(xué)已經(jīng)想到了,是沒有真實(shí)模擬用戶的請(qǐng)求,你去爬數(shù)據(jù),還不模擬用戶請(qǐng)求,那肯定限制你啊。這個(gè)時(shí)候需要加一個(gè)header參數(shù)來搞定,至少要加一個(gè)user-agent吧。好,那咋們?nèi)フ乙粋€(gè)ua吧。別百度了,自己動(dòng)手,豐衣足食。教大家一個(gè)辦法,用火狐的開發(fā)者工具。
火狐瀏覽器的開發(fā)者工具
打開新標(biāo)簽 —— 按F12——訪問下百度——找到NetWork——隨便點(diǎn)開一個(gè)——往下翻——看到ua了吧,復(fù)制上。
import requests鄭州人流手術(shù)費(fèi)用 http://mobile.120csjlyy.com/
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:不信?可以自己輸出一個(gè)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都是用來提交表單信息的,嗯,這里找一個(gè)能提交數(shù)據(jù)的url,去post下。
用我自己寫的接口(PS:django寫的,挺方便),大家復(fù)制過去就好了。注意看代碼,data是要post的數(shù)據(jù),post方法里加了一個(gè)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) #加一個(gè)data參數(shù)
print(r.status_code)
print(r.text)
截個(gè)圖給大家看下,http code 200,body信息說的post成功,并且返回的了我自己的IP信息以及post的數(shù)據(jù)
使用代理
為什么用代理?一般網(wǎng)站都有屏蔽的限制策略,用自己的IP去爬,被封了那該網(wǎng)站就訪問不了,這時(shí)候就得用代理IP來解決問題了。封吧,反正封的不是本機(jī)IP,封的代理IP。
既然使用代理,得先找一個(gè)代理IP。PS:自己寫個(gè)代理服務(wù)器太麻煩了,關(guān)鍵是我也不會(huì)寫啊,,,哈哈哈
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) #加一個(gè)proxies參數(shù)
print(r.status_code)
print(r.text)
主要方法里加個(gè)proxies參數(shù),這就用上代理IP了。
當(dāng)前文章:python爬蟲——requests庫使用代理-創(chuàng)新互聯(lián)
文章URL:http://aaarwkj.com/article22/gcecc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、虛擬主機(jī)、靜態(tài)網(wǎng)站、電子商務(wù)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容