




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
綜合案例——爬取業(yè)務(wù)網(wǎng)站C本章學(xué)習(xí)目標(biāo)分析業(yè)務(wù)網(wǎng)站C的網(wǎng)頁(yè)結(jié)構(gòu)和內(nèi)容使用requests庫(kù)編寫(xiě)爬蟲(chóng)代碼獲取指定的動(dòng)態(tài)數(shù)據(jù)使用urlencode方法編碼使用pymysql庫(kù)實(shí)現(xiàn)數(shù)據(jù)的持久化在進(jìn)入業(yè)務(wù)網(wǎng)站C界面時(shí),在切換“城市”時(shí)會(huì)出現(xiàn)不同的汽車信息。通過(guò)“開(kāi)發(fā)者工具”的Network選項(xiàng)卡中的XHR可以發(fā)現(xiàn)出現(xiàn)了一個(gè)動(dòng)態(tài)數(shù)據(jù)請(qǐng)求URL,如圖5-1所示。因此,接下來(lái)將圍繞該URL進(jìn)行分析。4.5.1
頁(yè)面分析圖5-1動(dòng)態(tài)數(shù)據(jù)請(qǐng)求URL通過(guò)“開(kāi)發(fā)者工具”的Network欄目中的XHR查看該URL的Preview可以看到返回的動(dòng)態(tài)數(shù)據(jù),如圖5-2所示。該數(shù)據(jù)是一個(gè)字典和列表相互嵌套使用的數(shù)據(jù)集合。因此,要獲得指定的數(shù)據(jù)就必須要對(duì)該數(shù)據(jù)集合進(jìn)行準(zhǔn)確的解析。圖5-2動(dòng)態(tài)數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容在“Headers”選項(xiàng)卡,可以看見(jiàn)這個(gè)AJAX請(qǐng)求的URL地址是./ashx/AjaxIndexHotCarByDsj.ashx?cityid=110100其中cityid參數(shù)為110100,如圖5-3所示圖5-3切換該網(wǎng)站的城市位置如圖5-4所示,打開(kāi)“network”選項(xiàng)卡發(fā)現(xiàn)XHR中又出現(xiàn)了AJAX條目,并且和上一個(gè)城市的AJAX條目有共同之處。參數(shù)cityid發(fā)生了改變,變?yōu)榱?00100。./ashx/AjaxIndexHotCarByDsj.ashx?cityid=500100圖5-4由此可以分析得出,此處的cityid參數(shù)就是指代不同的城市編碼,并根據(jù)不同的cityid值返回不同城市的汽車信息,如圖5-5所示。圖5-3通過(guò)使用“開(kāi)發(fā)者工具”詳細(xì)查看并分析了頁(yè)面內(nèi)容,現(xiàn)在已經(jīng)獲得了動(dòng)態(tài)數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容。因此,這里使用requests庫(kù)編寫(xiě)自定義的爬蟲(chóng)代碼,針對(duì)頁(yè)面結(jié)構(gòu)通過(guò)使用循環(huán)語(yǔ)句獲取到頁(yè)面結(jié)構(gòu)中指定的動(dòng)態(tài)數(shù)據(jù)。4.5.2
獲取動(dòng)態(tài)數(shù)據(jù)1)導(dǎo)入urlencode和requests,前者表示使用urlencode方法編碼url,后者表示使用requests對(duì)象來(lái)發(fā)送請(qǐng)求,并返回響應(yīng)的數(shù)據(jù)。fromurllib.parseimporturlencodeimportrequests2)找到需要模擬的AJAX請(qǐng)求的url,并將其復(fù)制給變量original_url。fromurllib.parseimporturlencodeimportrequests3)根據(jù)該AJAX條目的RequestHeaders設(shè)置符合該AJAX的請(qǐng)求基本信息。requests_headers={'Referer':'./beijing/','User-Agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)''Chrome/57.0.2987.133Safari/537.36','X-Requested-With':'XMLHttpRequest',}4)自定義一個(gè)函數(shù)get_one(cityid),講形參設(shè)置為cityid,表示將接收一個(gè)代表城市編碼的參數(shù),并將該參數(shù)傳入字典p中。使用urlencode()方法將字典p的值添加到original_url中,得到完整的URL請(qǐng)求。在try..except..語(yǔ)句中使用requests的get()方法獲得上面的URL,并通過(guò)設(shè)定判斷條件,將得到的response響應(yīng)數(shù)據(jù)格式化為JSON。defget_one(cityid):p={'cityid':cityid}complete_url=original_url+urlencode(p)try:response=requests.get(url=complete_url,params=requests_headers)ifresponse.status_code==200:returnresponse.json()exceptrequests.ConnectionErrorase:print('Error',e.args)5)再自定義一個(gè)函數(shù)parse(json),將形參設(shè)置為Json,表示這里將接收的數(shù)據(jù)格式為JSON。通過(guò)前面的分析得出,這個(gè)AJAX返回的數(shù)據(jù)是一個(gè)字典列表,因此,通過(guò)設(shè)置判斷條件,使用json[0].get(‘name’)將獲得第一個(gè)字典集合中的車型名稱。defparse(json):ifjson: item=json[0].get(‘
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙臺(tái)工程職業(yè)技術(shù)學(xué)院《馬克思主義發(fā)展史》2023-2024學(xué)年第一學(xué)期期末試卷
- 無(wú)錫南洋職業(yè)技術(shù)學(xué)院《英美文學(xué)作品賞析》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海體育大學(xué)《語(yǔ)音訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海海事職業(yè)技術(shù)學(xué)院《藝術(shù)形式語(yǔ)言》2023-2024學(xué)年第一學(xué)期期末試卷
- 信息技術(shù)崗位述職報(bào)告
- 醫(yī)生考核個(gè)人工作總結(jié)范文(31篇)
- 中小學(xué)圖書(shū)室學(xué)期工作計(jì)劃(5篇)
- 有關(guān)教導(dǎo)主任的年度述職報(bào)告范文
- 高效工作的讀后感(8篇)
- 湖北省武漢市東湖高新區(qū)2024-2025 學(xué)年八年級(jí)下學(xué)期期中質(zhì)量檢測(cè)英語(yǔ)試卷(含答案無(wú)聽(tīng)力音頻及原文)
- 水庫(kù)維修養(yǎng)護(hù)實(shí)施方案
- 2025中國(guó)農(nóng)業(yè)銀行個(gè)人房屋按揭貸款合同
- 水庫(kù)運(yùn)行安全風(fēng)險(xiǎn)評(píng)估-全面剖析
- 第二單元 聲現(xiàn)象(大單元教學(xué)設(shè)計(jì))(新教材)2024-2025學(xué)年八年級(jí)物理上冊(cè)同步備課系列(人教版2024)
- 美好家園《8未來(lái)城市》課件 -2024-2025學(xué)年浙人美版(2024)初中美術(shù)七年級(jí)下冊(cè)
- 2025年廣東科貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)必考題
- 2025年地鐵英文面試題及答案
- 2025年鐘山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)1套
- 施工員述職報(bào)告
- 個(gè)人顧問(wèn)合同范本
- 2025屆湖南省長(zhǎng)沙市長(zhǎng)郡二十校聯(lián)盟高三第二次預(yù)熱演練語(yǔ)文試題
評(píng)論
0/150
提交評(píng)論