爬蟲(chóng)

HTTP響應(yīng)狀態(tài)碼參考:

1xx:信息

100?Continue

服務(wù)器僅接收到部分請(qǐng)求,但是一旦服務(wù)器并沒(méi)有拒絕該請(qǐng)求,客戶端應(yīng)該繼續(xù)發(fā)送其余的請(qǐng)求。

101?Switching?Protocols

服務(wù)器轉(zhuǎn)換協(xié)議:服務(wù)器將遵從客戶的請(qǐng)求轉(zhuǎn)換到另外一種協(xié)議。

2xx:成功

200?OK

請(qǐng)求成功(其后是對(duì)GET和POST請(qǐng)求的應(yīng)答文檔)

201?Created

請(qǐng)求被創(chuàng)建完成,同時(shí)新的資源被創(chuàng)建。

202?Accepted

供處理的請(qǐng)求已被接受,但是處理未完成。

203?Non-authoritative?Information

文檔已經(jīng)正常地返回,但一些應(yīng)答頭可能不正確,因?yàn)槭褂玫氖俏臋n的拷貝。

204?No?Content

沒(méi)有新文檔。瀏覽器應(yīng)該繼續(xù)顯示原來(lái)的文檔。如果用戶定期地刷新頁(yè)面,而Servlet可以確定用戶文檔足夠新,這個(gè)狀態(tài)代碼是很有用的。

205?Reset?Content

沒(méi)有新文檔。但瀏覽器應(yīng)該重置它所顯示的內(nèi)容。用來(lái)強(qiáng)制瀏覽器清除表單輸入內(nèi)容。

206?Partial?Content

客戶發(fā)送了一個(gè)帶有Range頭的GET請(qǐng)求,服務(wù)器完成了它。

3xx:重定向

300?Multiple?Choices

多重選擇。鏈接列表。用戶可以選擇某鏈接到達(dá)目的地。最多允許五個(gè)地址。

301?Moved?Permanently

所請(qǐng)求的頁(yè)面已經(jīng)轉(zhuǎn)移至新的url。

302?Moved?Temporarily

所請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)轉(zhuǎn)移至新的url。

303?See?Other

所請(qǐng)求的頁(yè)面可在別的url下被找到。

304?Not?Modified

未按預(yù)期修改文檔??蛻舳擞芯彌_的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務(wù)器告訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用。

305?Use?Proxy

客戶請(qǐng)求的文檔應(yīng)該通過(guò)Location頭所指明的代理服務(wù)器提取。

306?Unused

此代碼被用于前一版本。目前已不再使用,但是代碼依然被保留。

307?Temporary?Redirect

被請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)移至新的url。

4xx:客戶端錯(cuò)誤

400?Bad?Request

服務(wù)器未能理解請(qǐng)求。

401?Unauthorized

被請(qǐng)求的頁(yè)面需要用戶名和密碼。

401.1

登錄失敗。

401.2

服務(wù)器配置導(dǎo)致登錄失敗。

401.3

由于ACL?對(duì)資源的限制而未獲得授權(quán)。

401.4

篩選器授權(quán)失敗。

401.5

ISAPI/CGI應(yīng)用程序授權(quán)失敗。

401.7

訪問(wèn)被Web?服務(wù)器上的?URL?授權(quán)策略拒絕。這個(gè)錯(cuò)誤代碼為?IIS?6.0?所專用。

402?Payment?Required

此代碼尚無(wú)法使用。

403?Forbidden

對(duì)被請(qǐng)求頁(yè)面的訪問(wèn)被禁止。

403.1

執(zhí)行訪問(wèn)被禁止。

403.2

讀訪問(wèn)被禁止。

403.3

寫(xiě)訪問(wèn)被禁止。

403.4

要求SSL。

403.5

要求SSL?128。

403.6

IP地址被拒絕。

403.7

要求客戶端證書(shū)。

403.8

站點(diǎn)訪問(wèn)被拒絕。

403.9

用戶數(shù)過(guò)多。

403.10

配置無(wú)效。

403.11

密碼更改。

403.12

拒絕訪問(wèn)映射表。

403.13

客戶端證書(shū)被吊銷。

403.14

拒絕目錄列表。

403.15

超出客戶端訪問(wèn)許可。

403.16

客戶端證書(shū)不受信任或無(wú)效。

403.17

客戶端證書(shū)已過(guò)期或尚未生效。

403.18

在當(dāng)前的應(yīng)用程序池中不能執(zhí)行所請(qǐng)求的URL。這個(gè)錯(cuò)誤代碼為?IIS?6.0?所專用。

403.19

不能為這個(gè)應(yīng)用程序池中的客戶端執(zhí)行CGI。這個(gè)錯(cuò)誤代碼為?IIS?6.0?所專用。

403.20

Passport登錄失敗。這個(gè)錯(cuò)誤代碼為?IIS?6.0?所專用。

404?Not?Found

服務(wù)器無(wú)法找到被請(qǐng)求的頁(yè)面。

404.0

沒(méi)有找到文件或目錄。

404.1

無(wú)法在所請(qǐng)求的端口上訪問(wèn)Web?站點(diǎn)。

404.2

Web服務(wù)擴(kuò)展鎖定策略阻止本請(qǐng)求。

404.3

MIME映射策略阻止本請(qǐng)求。

405?Method?Not?Allowed

請(qǐng)求中指定的方法不被允許。

406?Not?Acceptable

服務(wù)器生成的響應(yīng)無(wú)法被客戶端所接受。

407?Proxy?Authentication?Required

用戶必須首先使用代理服務(wù)器進(jìn)行驗(yàn)證,這樣請(qǐng)求才會(huì)被處理。

408?Request?Timeout

請(qǐng)求超出了服務(wù)器的等待時(shí)間。

409?Conflict

由于沖突,請(qǐng)求無(wú)法被完成。

410?Gone

被請(qǐng)求的頁(yè)面不可用。

411?Length?Required

"Content-Length"?未被定義。如果無(wú)此內(nèi)容,服務(wù)器不會(huì)接受請(qǐng)求。

412?Precondition?Failed

請(qǐng)求中的前提條件被服務(wù)器評(píng)估為失敗。

413?Request?Entity?Too?Large

由于所請(qǐng)求的實(shí)體的太大,服務(wù)器不會(huì)接受請(qǐng)求。

414?Request-url?Too?Long

由于url太長(zhǎng),服務(wù)器不會(huì)接受請(qǐng)求。當(dāng)post請(qǐng)求被轉(zhuǎn)換為帶有很長(zhǎng)的查詢信息的get請(qǐng)求時(shí),就會(huì)發(fā)生這種情況。

415?Unsupported?Media?Type

由于媒介類型不被支持,服務(wù)器不會(huì)接受請(qǐng)求。

416?Requested?Range?Not?Satisfiable

服務(wù)器不能滿足客戶在請(qǐng)求中指定的Range頭。

417?Expectation?Failed

執(zhí)行失敗。

423

鎖定的錯(cuò)誤。

5xx:服務(wù)器錯(cuò)誤

500?Internal?Server?Error

請(qǐng)求未完成。服務(wù)器遇到不可預(yù)知的情況。

500.12

應(yīng)用程序正忙于在Web?服務(wù)器上重新啟動(dòng)。

500.13

Web服務(wù)器太忙。

500.15

不允許直接請(qǐng)求Global.asa。

500.16

UNC授權(quán)憑據(jù)不正確。這個(gè)錯(cuò)誤代碼為?IIS?6.0?所專用。

500.18

URL授權(quán)存儲(chǔ)不能打開(kāi)。這個(gè)錯(cuò)誤代碼為?IIS?6.0?所專用。

500.100

內(nèi)部ASP?錯(cuò)誤。

501?Not?Implemented

請(qǐng)求未完成。服務(wù)器不支持所請(qǐng)求的功能。

502?Bad?Gateway

請(qǐng)求未完成。服務(wù)器從上游服務(wù)器收到一個(gè)無(wú)效的響應(yīng)。

502.1

CGI應(yīng)用程序超時(shí)?! ?/p>

502.2

CGI應(yīng)用程序出錯(cuò)。

503?Service?Unavailable

請(qǐng)求未完成。服務(wù)器臨時(shí)過(guò)載或當(dāng)機(jī)。

504?Gateway?Timeout

網(wǎng)關(guān)超時(shí)。

505?HTTP?Version?Not?Supported

服務(wù)器不支持請(qǐng)求中指明的HTTP協(xié)議版本

(二)爬蟲(chóng)get,post請(qǐng)求區(qū)別

當(dāng)request發(fā)送參數(shù)為data 時(shí)是post ? ??params---get

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

get

import requests

infos={

? ? 'kw':input('輸入想要查詢的信息-')

}

headers = {

? ? "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"

}

response = requests.get("https://tieba.baidu.com/f?", params = infos, headers = headers)

content = response.content

with open('./baidu.html','wb') as file:

? ? file.write(content)

(三)利用cookie 訪問(wèn)此網(wǎng)站別的頁(yè)面時(shí)免登陸,不用傳參數(shù)

import urllib.request

import urllib.parse

import http.cookiejar

data={

? ? 'name': input('用戶名:'),

? ? 'pwd': input('密碼:')

}

data=urllib.parse.urlencode(data).encode('utf-8')

headers=[

? ? ('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'),

]

#建cookie對(duì)象?? COOKIE_jar 是用來(lái)存取獲得到的cookie

cookie_jar= http.cookiejar.CookieJar()

cookie_handler = urllib.request.HTTPCookieProcessor(cookiejar=cookie_jar)

#創(chuàng)建opener對(duì)象

cook_opener=urllib.request.build_opener(cookie_handler)

#在發(fā)送請(qǐng)求中增加headers

cook_opener.addheaders=headers

response = cook_opener.open(fullurl='http://192.168.12.18:5678/user/login_handler',data=data)

#可以看一下存取的cookie

print(cookie_jar)

for i in cookie_jar:

? ? print(i.name,i.value,i.expires)

content = response.read()

print(content)

with open('./renren1.html','wb') as file:

? ? file.write(content)

#我們利用已經(jīng)獲取到的cookie直接訪問(wèn)另一個(gè)頁(yè)面

response = cook_opener.open(fullurl='http://192.168.12.18:5678/booktest/bookinfo/list')

content = response.read()

print(content)

with open('./renren2.html','wb') as file:

? ? file.write(content)

我們可以查看一下我們存儲(chǔ)的cookie

import requests

url = 'https://www.baidu.com'

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}

response = requests.get(url=url,headers=headers)

cookies = response.cookies

print(type(cookies))

cookies = requests.utils.dict_from_cookiejar(cookies)

print(type(cookies))

print(cookies)

通過(guò)記錄session 同樣也可以

import requests

url1 = 'http://www.renren.com/PLogin.do'

url2 = 'http://www.renren.com/963689126/profile'

data = {

? ? 'email':'18737572516',

? ? 'password':'123456'

}

headers = {

? ? "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"

}

session=requests.session()

session.headers=headers

response1=session.post(url=url1,data=data)

content1 = response1.content

with open('./renren1.html','wb') as file:

? ? file.write(content1)

response2 = session.get(url=url2)

content2 = response2.content

with open('./renren2.html','wb') as file:

? ? file.write(content2)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTTP響應(yīng)狀態(tài)碼參考: 1xx:信息 100Continue 服務(wù)器僅接收到部分請(qǐng)求,但是一旦服務(wù)器并沒(méi)有拒絕該...
    a荷包蛋閱讀 603評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • Handler處理器 和 自定義Opener 1. 概述 opener是 urllib2.OpenerDirect...
    rhlp閱讀 1,057評(píng)論 0 0
  • 1. urllib2的異常錯(cuò)誤處理 在我們用urlopen或opener.open方法發(fā)出一個(gè)請(qǐng)求時(shí),如果urlo...
    rhlp閱讀 2,622評(píng)論 0 0
  • 用一張手繪,證明自己還活著 太久沒(méi)有拿起畫(huà)筆的我 畫(huà)風(fēng)崩了
    夏白夏筱萌閱讀 237評(píng)論 1 1

友情鏈接更多精彩內(nèi)容