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 - 如何修改運行中容器的配置2. dockerfile - [docker build image失敗- npm install]3. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!4. 為什么我ping不通我的docker容器呢???5. docker不顯示端口映射呢?6. docker網絡端口映射,沒有方便點的操作方法么?7. javascript - nodejs調用qiniu的第三方資源抓取,返回401 bad token,為什么8. docker綁定了nginx端口 外部訪問不到9. angular.js - angular內容過長展開收起效果10. nignx - docker內nginx 80端口被占用
