linux - python 抓取公眾號文章遇到驗證問題
問題描述
linux 下抓取微信公眾號文章遇到驗證問題!!!!!!!!
這是我要抓取的人民日報鏈接:http://mp.weixin.qq.com/profile?src=3×tamp=1492739045&ver=1&signature=bSSQMK1LY77M4O22qTi37cbhjhwNV7C9V4aor9HLhAvbGc2ybWX*qg3WqxntZ7iq0kvYe87oPpcSJKFdmGMx5g==1:首先瀏覽器上訪問是正常的。2:linux下訪問提示需要驗證,以下是簡單的代碼
url = http://mp.weixin.qq.com/profile?src=3×tamp=1492738883&ver=1&signature=bSSQMK1LY77M4O22qTi37cbhjhwNV7C9V4aor9HLhAvbGc2ybWX*qg3WqxntZ7iq2xTLUTfxAMzK79UGvalY1A==response = urllib2.urlopen(url)print response.read()
訪問的結果如下:
補充說明下公眾號鏈接的獲取方式:1:先訪問鏈接:http://weixin.sogou.com/weixi...2:再獲取人民日報公眾號的鏈接進行跳轉。
問題解答
回答1:都不模擬header請求頭的,就能抓取嗎,建議先模擬request header再試一下
回答2:# coding: utf-8import requestsheaders = {}headers[’User-Agent’] = ’Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0’url = ’http://mp.weixin.qq.com/profile?src=3×tamp=1492739045&ver=1&signature=bSSQMK1LY77M4O22qTi37cbhjhwNV7C9V4aor9HLhAvbGc2ybWX*qg3WqxntZ7iq0kvYe87oPpcSJKFdmGMx5g==’r = requests.get(url, headers=headers)print r.text回答3:
現在在請求中加了header后,返回的錯誤是這樣的。請各位大神麻煩再支下招
回答4:用request可以,本地環境Mac OSX , python3.6.1import requestsheaders = {’user-agent’ : ’Mozilla/5.0’}respon = requests.get(’http://mp.weixin.qq.com/profile?src=3×tamp=1492831080&ver=1&signature=bSSQMK1LY77M4O22qTi37cbhjhwNV7C9V4aor9HLhAvbGc2ybWX*qg3WqxntZ7iqB7vsPUlOS3zhl-8n5FUODg==’, headers = headers)respon.encoding = ’utf-8’print(respon.text)內容在紅色框那一行
相關文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. docker-compose 為何找不到配置文件?3. angular.js - angularjs如何傳遞id給另一個視圖 根據id獲取json數據?4. 數據庫無法進入5. mysql - 記得以前在哪里看過一個估算時間的網站6. boot2docker無法啟動7. select - mysql怎么搜索一個字符串指定位置之后兩位8. python - linux怎么在每天的凌晨2點執行一次這個log.py文件9. android - E/dalvikvm: Could not find class java.nio.file.Path,10. 請問一下各位老鳥 我一直在學習獨孤九賤 現在是在tp5 今天發現 這個系列視頻沒有實戰
