[問題] 新手爬蟲遇到Refresh如何解決?

作者: jakeasa123 (啊斑斑)   2017-06-01 00:41:04
  各位前輩好,最近因為一點需求在撰寫爬蟲程式。先是參照了一些網路資源試作了一些常見網站(如高鐵)的爬蟲,雖然也碰上不少問題但都還算順利解決。
  近期在整理某些領域的國內論文,因此花了不少時間在「臺灣博碩士論文知識加值系統」裡頭,想說能不能用爬蟲的方式,蒐集論文的基本資料再來篩選,但碰上了一個問題。
  在用以前的經驗來撰寫爬蟲程式時,總會碰上重新導向的語法:「<META HTTP-EQUIV="Refresh" CONTENT="0; ……」,查了一些資料後發現requests.__部分有allow_redirects的參數可以使用,但就算設置其為False也沒辦法讀到東西。應該說,貌似讀到的東西也就只有那段重新導向的語法(或者是我程式上有大問題)。
  後續也Google了相關的資料,但還是沒能解決這個問題,只好來此向各位詢問,希望能獲得一些指引或解答。
作者: kenduest (小州)   2017-06-01 01:38:00
meta 那算是 html 檔案內容組成了,不是 requests本身處理的範圍。你需要的是解析若有這段 meta內容抓出請求的 url= 後面指定的網址然後把抓出來的 url 丟給 requests.get 重抓內容處理要判斷有無這類 meta 語法一般可以用 BeautifulSoup解析找這類內容,有找到拆解找出 url 網址拿來用requests 內所謂 allow_redirects 是說一般的 http請求對方回應 301, 302 這類回應代碼時候,依據header 內 Location 欄位指定的 url 來進行連結存取後續要登入啊 說是另外一個新的處理議題
作者: zerof (貓橘毛發呆雕像)   2017-06-01 13:17:00
試試 selenium

Links booklink

Contact Us: admin [ a t ] ucptt.com