目前還在進行階段
我的目的是爬去知乎熱榜五十的回答,分為只爬去靜態返回的頁面和爬去非同步返回的資料。
首先開始查詢知乎前五十需要登入,但是我並不想處理登入。分析一波:先用瀏覽器登入一下進去,記住密碼,之後再進入頁面知乎就可以,這是為什麼?猜想可能是將密碼儲存在cookie裡面的,於是f12在cookie裡面看到如下資訊,試一下將cookie的東西塞到請求裡面,訪問成功!!!
之後進入問題鏈結後發現,又有錯誤,幾經周折發現不用cookie也行了,估計是知乎後台現在不檢測是否登入了。之後就是爬去了。下面分析非同步返回的東西,幾經周折找到如下鏈結
發現有這幾個引數,include,limit,offset,platform,sort_by;可見,後面limit是返回多少個,offset是第幾頁,sort_by是排序,platform是平台這些都沒影響,但是include是關鍵了,刪除include發現返回的資料沒有答案,只有回答者資訊問題,但是include我應該按照怎麼樣的規則新增?還有這段神秘**有什麼意義呢?分析了一下 ,就是這裡面返回的類容包含哪些東西,所以複製下來就好,也可以找到只返回你需要的資訊也行,經過試驗2ccontent是內容具體還有我試了以後加。
步步分析爬取知乎使用者頭像
知乎是個練習爬蟲的好地方,可以找到很多資源,還能挑戰一下反爬蟲機制。剛開始不懂得ajax的時候真的拿這些動態載入的網頁沒有辦法,只好退一步,用selenium chromedriver寫一些簡單的程式,這樣做雖然簡化了開發過程,但是總是覺得效率很低,而卻方式不太優雅,只是呼叫瀏覽器去做著做那,遇到異...
爬知乎了解BeautifulSoup用法
text raw input 請輸入驗證碼 encode gb18030 return text def zhihu sess requests.session 請求報頭 首先獲取登入頁面,找到需要post的資料 xsrf 同時會記錄當前網頁的cookie值 html sess.get header...
python動態爬取知乎 python爬取微博動態
在初學爬蟲的過程中,我們會發現很多 都使用ajax技術動態載入資料,和常規的 不一樣,資料是動態載入的,如果我們使用常規的方法爬取網頁,得到的只是一堆html 沒有任何的資料。比如微博就是如此,我們可以通過下滑來獲取更多的動態。對於這樣的網頁該如何抓取呢?我們以微博使用者動態為例,抓取某名使用者的文...