版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
老師:李挺第十二章網(wǎng)絡(luò)爬蟲(chóng)網(wǎng)絡(luò)爬蟲(chóng)(又稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁(yè)追逐者)是一種按照一定的規(guī)則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。01爬蟲(chóng)爬蟲(chóng)簡(jiǎn)介實(shí)例演示視頻下載:/c/a3a86688-d96f-42b0-88c8-e81c37178565不是所有的網(wǎng)站視頻都可以爬取到原視頻地址。requests是python公認(rèn)的最優(yōu)秀的爬蟲(chóng)第三方庫(kù),可以實(shí)現(xiàn)自動(dòng)爬取html頁(yè)面內(nèi)容。爬取網(wǎng)頁(yè)代碼非常簡(jiǎn)介,可以做到一行代碼即可實(shí)現(xiàn)網(wǎng)頁(yè)的爬取。urllib是python自帶的爬蟲(chóng)標(biāo)準(zhǔn)庫(kù);python標(biāo)準(zhǔn)庫(kù):/zh-cn/3/library/index.html官方網(wǎng)站:https://2.02requests庫(kù)方法方法說(shuō)明requests.request()構(gòu)造一個(gè)請(qǐng)求,支撐以下各方法的基礎(chǔ)方法requests.get()獲取HTML網(wǎng)頁(yè)的主要方法,對(duì)應(yīng)于HTTP的GETrequests.head()獲取HTML網(wǎng)頁(yè)頭信息的方法,對(duì)應(yīng)于HTTP的HEADrequests.post()向HTML網(wǎng)頁(yè)提交POST請(qǐng)求的方法,對(duì)應(yīng)于HTTP的POSTrequests.put()向HTML網(wǎng)頁(yè)提交PUT請(qǐng)求的方法,對(duì)應(yīng)于HTTP的PUTrequests.patch()向HTML網(wǎng)頁(yè)提交局部修改請(qǐng)求,對(duì)應(yīng)與HTTP的PATCHrequests.delete()向HTML頁(yè)面提交刪除請(qǐng)求,對(duì)應(yīng)于HTTP的DELETE常見(jiàn)的請(qǐng)求方法有兩種:get和postrequests.get(url,params=None,**kwargs)requests.get(url)構(gòu)造一個(gè)向服務(wù)器請(qǐng)求資源的Request對(duì)象由request庫(kù)自動(dòng)生成請(qǐng)求服務(wù)器接收到請(qǐng)求,會(huì)將對(duì)應(yīng)資源發(fā)送給客戶端返回一個(gè)包含服務(wù)器資源的Response對(duì)象url:獲取指定頁(yè)面的鏈接params:url中的額外參數(shù),字典或字節(jié)流格式,可選的**kwargs:12個(gè)控制訪問(wèn)的參數(shù),可選的返回的Response信息包含服務(wù)器返回的信息和Requests信息請(qǐng)可打開(kāi)pycharm觀察源代碼封裝屬性說(shuō)明r.status_codeHTTP請(qǐng)求的返回狀態(tài),200表示連接成功r.textHTTP響應(yīng)內(nèi)容的字符串形式,即url對(duì)應(yīng)的頁(yè)面內(nèi)容r.encoding從HTTPheader中猜測(cè)的相應(yīng)內(nèi)容編碼方式r.apparent_encoding從內(nèi)容中分析出的相應(yīng)內(nèi)容編碼方式(備選編碼方式)r.contentHTTP相應(yīng)內(nèi)容的二進(jìn)制形式200表示連接成功,404代表客戶端在瀏覽網(wǎng)頁(yè)時(shí),服務(wù)器無(wú)法正常提供信息,或是服務(wù)器無(wú)法回應(yīng)且不知原因Response對(duì)象的信息HTTPheader/get該網(wǎng)站會(huì)判斷如果客戶端發(fā)起的是GET請(qǐng)求的話,它返回相應(yīng)的請(qǐng)求信息。添加額外信息現(xiàn)在想添加兩個(gè)額外信息,其中name是zhangsan,sex是man例如:info={'name':'zhangsan','sex':'man'}r=requests.get('/get',params=info)r=requests.get('http:///get?name=zhangsan&sex=man')百度和360搜索如何自動(dòng)的實(shí)現(xiàn)搜索關(guān)鍵詞?百度和360搜索為搜索關(guān)鍵詞提供了接口百度搜索接口:https:///s?wd=關(guān)鍵詞360搜索接口:https:///s?q=關(guān)鍵詞求的鏈接自動(dòng)被構(gòu)造成控制范圍字headers修改請(qǐng)求頭headers內(nèi)容http://host[path]host:合法的Internet主機(jī)域名或IP地址
path:請(qǐng)求資源的路徑,指主機(jī)服務(wù)器對(duì)應(yīng)的地址例如:/https:///creator/featured-question/knowledge-planHTTP的全稱是HyperTextTransferProtocol,中文名叫作超文本傳輸協(xié)議HTTPS的全稱是HyperTextTransferProtocoloverSecureSocketLayer,是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版,即HTTP下加入SSL層,簡(jiǎn)稱為HTTPS。URL格式狀態(tài)碼:百度百科狀態(tài)碼即可;POST請(qǐng)求向服務(wù)器傳送數(shù)據(jù)表單信息data:提交字符信息files:文件上傳form:提交表單信息高級(jí)部分cookies:Cookies指某些網(wǎng)站為了辨別用戶身份、進(jìn)行會(huì)話跟蹤而存儲(chǔ)在用戶本地終端上的數(shù)據(jù)。http的一個(gè)特點(diǎn)無(wú)狀態(tài):
http協(xié)議對(duì)事務(wù)處理是沒(méi)有記憶功能的。當(dāng)我們向服務(wù)器發(fā)送請(qǐng)求后,服務(wù)器解析此請(qǐng)求,然后返回對(duì)應(yīng)的響應(yīng),服務(wù)器負(fù)責(zé)完成這個(gè)過(guò)程,而且這個(gè)過(guò)程是完全獨(dú)立的,服務(wù)器不會(huì)記錄前后狀態(tài)的變化,也就是缺少狀態(tài)記錄。例如密碼登錄無(wú)法實(shí)現(xiàn)。用于保持HTTP連接狀態(tài)的技術(shù)就出現(xiàn)了,它們分別是會(huì)話和Cookies會(huì)話和Cookies會(huì)話在服務(wù)端,也就是網(wǎng)站的服務(wù)器,用來(lái)保存用戶的會(huì)話信息;Cookies在客戶端,也可以理解為瀏覽器端,有了Cookies,瀏覽器在下次訪問(wèn)網(wǎng)頁(yè)時(shí)會(huì)自動(dòng)附帶上它發(fā)送給服務(wù)器,服務(wù)器通過(guò)識(shí)別Cookies并鑒定出是哪個(gè)用戶,然后再判斷用戶是否是登錄狀態(tài),然后返回對(duì)應(yīng)的響應(yīng)。我們可以理解為Cookies里面保存了登錄的憑證,有了它,只需要在下次請(qǐng)求攜帶Cookies發(fā)送請(qǐng)求而不必重新輸入用戶名、密碼等信息重新登錄了。會(huì)話CookiesSet-Cookie高級(jí)部分--會(huì)話維持利用get()或post()每一次請(qǐng)求都是獨(dú)立的,相當(dāng)于每次發(fā)出請(qǐng)求類(lèi)似打開(kāi)一個(gè)新的瀏覽器訪問(wèn),而不是瀏覽器中的選項(xiàng)卡中訪問(wèn)。如何實(shí)現(xiàn)下一次訪問(wèn)與上一次訪問(wèn)是相互關(guān)聯(lián)的??jī)纱握?qǐng)求時(shí)設(shè)置一樣的cookies維持同一個(gè)會(huì)話相當(dāng)于打開(kāi)一個(gè)新的瀏覽器選項(xiàng)卡而不是新開(kāi)一個(gè)瀏覽器如何創(chuàng)建會(huì)話維持?requests.session()利用Session,可以做到模擬同一個(gè)會(huì)話而不用擔(dān)心Cookies的問(wèn)題。它通常用于模擬登錄成功之后再進(jìn)行下一步的操作。項(xiàng)目實(shí)現(xiàn)—模擬登錄爬取github網(wǎng)頁(yè)輸入賬號(hào)信息可能出現(xiàn)郵箱驗(yàn)證進(jìn)入個(gè)人主頁(yè)獲取當(dāng)前賬戶的設(shè)置/login/sessions/verified-device/session/settings/profile使用代理服務(wù)器代理服務(wù)器作為一種既是服務(wù)器又是客戶機(jī)的中間程序,主要用于轉(zhuǎn)發(fā)客戶系統(tǒng)的網(wǎng)絡(luò)訪問(wèn)請(qǐng)求。作用例如:1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年雷波縣幼兒園教師招教考試備考題庫(kù)帶答案解析(必刷)
- 2025年隆堯縣幼兒園教師招教考試備考題庫(kù)帶答案解析(必刷)
- 2025年焦作新材料職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案解析
- 2025年中國(guó)勞動(dòng)關(guān)系學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2025年旬陽(yáng)縣招教考試備考題庫(kù)帶答案解析
- 2025年青陽(yáng)縣幼兒園教師招教考試備考題庫(kù)及答案解析(奪冠)
- 2025年沈陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)附答案解析
- 2024年淮濱縣幼兒園教師招教考試備考題庫(kù)附答案解析(奪冠)
- 2025年聶拉木縣幼兒園教師招教考試備考題庫(kù)及答案解析(必刷)
- 2025年安徽農(nóng)業(yè)大學(xué)馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- GA/T 2157-2024毛細(xì)管電泳遺傳分析儀
- 工業(yè)機(jī)器人技術(shù)基礎(chǔ)電子教案
- 《胰高血糖素抵抗》課件
- 能源與動(dòng)力工程測(cè)試技術(shù) 課件 第十章 轉(zhuǎn)速、轉(zhuǎn)矩及功率測(cè)量
- 2025年安徽省中考模擬英語(yǔ)試題(原卷版+解析版)
- 2024-2025學(xué)年云南省昆明市盤(pán)龍區(qū)五年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 論地理環(huán)境對(duì)潮汕飲食文化的影響
- 值班人員在崗情況檢查記錄表周一
- 赤峰南臺(tái)子金礦有限公司金礦2022年度礦山地質(zhì)環(huán)境治理計(jì)劃書(shū)
- 徐州市銅山區(qū)法院系統(tǒng)書(shū)記員招聘考試真題
- 氣穴現(xiàn)象和液壓沖擊
評(píng)論
0/150
提交評(píng)論