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. python - 使用from XXX import (XXX, XXX, XXX,) 導入模塊時, 括號()的意義何在?2. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?3. python判斷字符串相等?4. python - pandas按照列A和列B分組,將列C求平均數,怎樣才能生成一個列A,B,C的dataframe5. MySQL中的enum類型有什么優點?6. c++ - 如何在python的阻塞的函數中獲取變量值7. pdo - mysql 簡單注入疑問8. 谷歌訪問助手安裝不了9. html5 - 在一個頁面中 初始了兩個swiper 不知道哪里錯了 一直不對10. Python中使用超長的List導致內存占用過大
