模擬登錄和數(shù)據(jù)采集綜合案例_第1頁
模擬登錄和數(shù)據(jù)采集綜合案例_第2頁
模擬登錄和數(shù)據(jù)采集綜合案例_第3頁
模擬登錄和數(shù)據(jù)采集綜合案例_第4頁
模擬登錄和數(shù)據(jù)采集綜合案例_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

網(wǎng)站模擬登錄和數(shù)據(jù)采集案例 本章學(xué)習(xí)目標(biāo)●分析業(yè)務(wù)網(wǎng)站人才招聘的網(wǎng)頁結(jié)構(gòu)和內(nèi)容●使用selenium和chromedriver實現(xiàn)網(wǎng)站的模擬登錄●使用selenium和chromedriver實現(xiàn)編寫爬蟲代碼獲取指定的靜態(tài)和動態(tài)數(shù)據(jù)●使用pymysql庫實現(xiàn)數(shù)據(jù)的持久化8.4獲取靜態(tài)數(shù)據(jù)在登錄成功之后的頁面中通過頁面分析,找到該網(wǎng)站的搜索功能按鈕,并記錄該控件的屬性或者XPATH路徑,如圖所示。目的是通過該按鈕能夠跳轉(zhuǎn)到指定的搜索頁面。8.4獲取靜態(tài)數(shù)據(jù)使用鼠標(biāo)左鍵單擊該搜索按鈕,頁面將跳轉(zhuǎn)到指定的詳細(xì)搜索頁面,如圖8-11所示。認(rèn)真分析頁面結(jié)構(gòu)和內(nèi)容之后發(fā)現(xiàn),該頁面的URL默認(rèn)返回如下內(nèi)容:城市站點,福利標(biāo)簽,篩選條件,默認(rèn)職位信息等主要內(nèi)容。8.4獲取靜態(tài)數(shù)據(jù)在“開發(fā)者工具”的Network欄目下的DOC中可以看到,該默認(rèn)URL返回的城市站點,福利標(biāo)簽,篩選條件,默認(rèn)職位信息等主要內(nèi)容數(shù)據(jù)均為靜態(tài)數(shù)據(jù)。8.4獲取靜態(tài)數(shù)據(jù)在“開發(fā)者工具”的Network欄目下的Headers中可以觀察到該默認(rèn)URL的頭部信息。8.4.1靜態(tài)數(shù)據(jù)獲取的總體步驟1)導(dǎo)入爬蟲代碼需要使用的requests庫用于獲取URL的頁面響應(yīng)數(shù)據(jù),導(dǎo)入lxml庫中的etree用于解析頁面的響應(yīng)數(shù)據(jù),并進(jìn)一步實現(xiàn)數(shù)據(jù)的精確定位和操作,導(dǎo)入pymysql庫用于持久化保存數(shù)據(jù)。importrequestsfromlxmlimportetreeimportpymysql2)設(shè)置網(wǎng)絡(luò)爬蟲代碼請求該URL的Headers頭部信息。在開發(fā)者工具的“Network”選項卡下的“Headers”選項卡中得到該默認(rèn)URL的Headers頭部信息。其目的是向業(yè)務(wù)網(wǎng)站的后臺服務(wù)器隱藏爬蟲代碼的真實身份,讓爬蟲代碼帶著這些請求信息偽裝成瀏覽器正常訪問該網(wǎng)站服務(wù)器的狀態(tài),而不被服務(wù)器的反爬措施發(fā)現(xiàn)。headers={'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3','Accept-Encoding':'gzip,deflate','Accept-Language':'zh-CN,zh;q=0.9','User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/74.0.3729.108Safari/537.36'}3)自定義爬蟲方法get_static(cursor)用于獲取指定的URL的靜態(tài)數(shù)據(jù)和數(shù)據(jù)持久化保存。該方法是實現(xiàn)獲取靜態(tài)數(shù)據(jù)的核心方法。因此,需要單獨介紹。8.4.2靜態(tài)數(shù)據(jù)獲取業(yè)務(wù)邏輯和代碼詳解defget_static(cursor):1)聲明變量url用于獲取指定的爬取的URL。這里將業(yè)務(wù)網(wǎng)站的詳細(xì)搜索頁面的URL賦值給url。url='.job5156/s/search/?keywordType=&keyword='2)聲明變量response用于獲取requests庫的get方法從上一步指定的url和headers中獲取的頁面響應(yīng)數(shù)據(jù)。response=requests.get(url,headers=headers)3)聲明變量s用于獲取lxml中etree的HTML方法對上一步頁面響應(yīng)數(shù)據(jù)response的解析,其目的是為了接下來對數(shù)據(jù)的精確定位和操作。s=etree.HTML(response.text)8.4.2靜態(tài)數(shù)據(jù)獲取業(yè)務(wù)邏輯和代碼詳解4)聲明變量infos用于獲取變量s的xpath方法返回的指定數(shù)據(jù)。這里需要通過使用“開發(fā)者工具”的Elements功能詳細(xì)分析該頁面的標(biāo)簽結(jié)構(gòu)和數(shù)據(jù)內(nèi)容8.4.2靜態(tài)數(shù)據(jù)獲取業(yè)務(wù)邏輯和代碼詳解將鼠標(biāo)定位到“開發(fā)者工具”的Elements欄目中的<ul>標(biāo)簽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論