前言
目前學(xué)習(xí)python幾個(gè)月了,由于自己比較喜歡跑馬拉松,已經(jīng)跑過(guò)了很多場(chǎng)比賽,前些天就寫(xiě)了個(gè)簡(jiǎn)單的爬蟲(chóng)爬取了網(wǎng)上三千多場(chǎng)馬拉松比賽的報(bào)名信息。
今年5月27日,我又參加了巴圖魯關(guān)門(mén)山壹佰越野50公里組的比賽,這里的“巴圖魯”源自蒙古語(yǔ)“英雄”的意思,這場(chǎng)比賽也是出了名的虐,地點(diǎn)在遼寧省本溪市 · 關(guān)門(mén)山國(guó)家森林公園,累計(jì)爬升3655m。當(dāng)天早上六點(diǎn)準(zhǔn)時(shí)出發(fā),剛跑沒(méi)多久就來(lái)了很長(zhǎng)一段陡峭的臺(tái)階……此處省略一萬(wàn)字……最終經(jīng)過(guò)很多小時(shí)的艱苦奮戰(zhàn)完成了比賽。
賽后去官網(wǎng)想找?guī)讖埡每吹膱D片發(fā)朋友圈,打開(kāi)官網(wǎng)賽事圖片鏈接到了愛(ài)運(yùn)動(dòng)的一個(gè)網(wǎng)頁(yè)http://runnerbar.com/yd_runnerbar/album/pc?type=3&activity_id=10712,這是個(gè)單頁(yè)面的網(wǎng)頁(yè),不斷滾動(dòng)會(huì)自動(dòng)加載更多的圖片,我把頁(yè)面一點(diǎn)點(diǎn)滾動(dòng)找了很長(zhǎng)一段時(shí)間根本找不到我的照片,刷新一下頁(yè)面照片又從頭開(kāi)始了,實(shí)在不能忍。于是,我想要不把圖片全部下載到本地查看吧,想干就干。
1. 分析
1.1 Chrome調(diào)試
在chrome瀏覽器里輸入快捷鍵Cmd + Opt + I(Windows上是F12,或Ctrl + Shift + I),將調(diào)試選項(xiàng)切到Network,如下

一個(gè)個(gè)觀察此網(wǎng)頁(yè)發(fā)送的請(qǐng)求,找到和圖片相關(guān)的請(qǐng)求

這是一個(gè)get請(qǐng)求,初步分析里面的參數(shù),activity_id代表賽事id,page和pageSize分別代表頁(yè)數(shù)和每頁(yè)大小,接著將請(qǐng)求放在postman上印證

1.2請(qǐng)求分析
在postman里加了三個(gè)參數(shù)成功返回了一個(gè)json格式的值,第一階段很順利,接著分析里面的返回值,下面取了其中的一個(gè)元素
{"album": { "activity_photo_count": 6984, "searchResultList": [ { "id": "32926651", "uid": 50392, "name": "巴圖魯關(guān)東越野", "user_name": null, "user_img": "http://oss.runnerbar.com/img/user_upload/origin/20180526/1527305285356_fb59065d_18ce_478b_a3aa_259783f4cd5b.jpg", "create_time": 1527313780000, "image_height": 3648, "image_width": 5472, "orientation": 1, "url_hq": "http://oss.runnerbar.com/img/watermark/user_upload/origin/20180526/1527313783392_235c5cea_5d0c_4cd7_afc6_0ba37cdc7c1d.jpg?quality=h", "url_lq": "http://oss.runnerbar.com/img/watermark/user_upload/origin/20180526/1527313783867_7d986351_fde4_418a_8fb3_1723dcb38aec.jpg", "content": null, "is_like": 0, "like_count": null, "comment_count": 0 }}這是個(gè)json格式,最外層里有個(gè)album元素,album里包含了圖片總數(shù)量activity_photo_count和圖片信息的數(shù)組searchResultList。每張圖片包含了id、uid、user_img、create_time等等,和圖片路徑相關(guān)的有三個(gè)值分別是user_img、url_hq、url_lq,其中的user_img打開(kāi)后發(fā)現(xiàn)是賽事的宣傳logo,剩下的url_hq、url_lq根據(jù)命名就很容易猜想到這是對(duì)應(yīng)的兩種尺寸的圖片,用瀏覽器分別打開(kāi),果不其然正是想要的圖片路徑。
新聞熱點(diǎn)
疑難解答
圖片精選