1. 程式人生 > >DC學院課程-Python爬蟲(入門+進階)-課後作業分析

DC學院課程-Python爬蟲(入門+進階)-課後作業分析

以下是一些該課程學習中,難以在網上找到答案,自己的分析,

如有不恰當之處,還請批評指正!

----------------------------------------------------------------------------

1-6 瀏覽器抓包及headers設定(案例一:抓取知乎)

課後思考:今日頭條的翻頁方式?

    開啟官網,https://www.toutiao.com/,可以看到沒有翻頁按鍵,頁面下拉到7個新聞後,載入更新新的新聞,

頁面url沒有變化,經驗證是ajax載入。

    按照步驟(network → clear → 下拉至頁面更新),發現幾個XHR引數max_behot_time變化有規律。



而雙擊進該頁面,顯示中文為unicode編碼。


所以找到了今日頭條的翻頁方式,及其真實請求頁面。並且建議只在preview裡看內容比較方便。(有幾次直接雙擊進源頁面發現一堆英文沒反應過來。。。然後就miss掉了。。。)

----------------------------------------------------------------------------

1-7 資料入庫及MongoDB(案例二:爬取拉勾)

關於win7系統下(win10目前沒有嘗試)高版本MongoDB無法在 localhost:27017或localhost:28017 訪問的問題(或頁面無法正常顯示)


    上圖是已驗證正常安裝啟動後,在27017埠顯示的資訊,同教程一致。

    嘗試網上大量教程無果後,看到有人說低版本沒事,於是換了低版本3.4.13來裝

    安裝過程中,安裝程式有要求防火牆不對MongoDB有限制,而之前安裝高版本沒有提示這個選項,所以分析應該是防火牆的問題。

關於配置MongoDB教程的其他問題:

    配置MongoDB的路徑自己可以試著改一下,熟悉一下命令列都傳進了哪些引數。

    除了建立data\db還要data\log。

    一定要以管理員身份執行cmd,點開開始選單搜尋cmd然後右鍵以管理員身份執行。



    net start mongodb (開啟)

    net stop mongodb (關閉)

    使用robo以及pycharm的外掛 連線MongoDB之前需先通過cmd開啟資料庫,開啟一次就ok,重啟後也能連線。

課後作業:爬取職位詳情頁

    其實開啟詳情頁分析url就有頭目了。


    我們進原來職位列表的原始碼中搜索後面這個id號,發現出現了兩次,一次是職位對應的hr資訊。


    另一次才是對應的職位。


    所以只需要爬取url='https://www.lagou.com/jobs/'+id號+'.html' 對應的資訊即可。

關於modheader的使用:

    經過測試,modheader可以方便的偽裝成移動端,然後對網頁爬取。modheader是以key-value形式儲存ua資訊的,使用哪個頭可以點選打鉤選上。如下圖所示。


    然後f5重新整理一下頁面就發現頁面已經變成移動端了。


    我們可以看到右下角ua資訊已經變成iphone資訊的了。


    關於ua資訊的查詢,目前網上已經有許多小白的網頁可以線上獲取你手機的ua資訊,以及其他手機的ua資訊,百度上搜一下ua查詢即可。還得注意的是,modheader裡ua的name一定要寫User-Agent,否則modheader無法對瀏覽器的request的ua無法覆蓋和替換。

關於無法在 m.weibo.cn 或 weibo.cn 登入賬號進微博的問題:

    經過嘗試,首先在不偽裝移動端header時進入weibo.com頁面。


    然後選擇modheader中偽裝移動端header,後再進行登入,登入成功。


    然後就可以登入進來,可以看到找到了微博評論的真實請求頁面。(圖片看不清可以點選圖片放大)

----------------------------------------------------------------------------