公司內網有個網頁A (DATA_URL) 點進去後會在頁面上呈現一張表格
我想抓取這張表格的欄位資訊
但連到網頁A 若沒有登入 網站會先導到登入頁面
成功登入才會跳轉回網頁A
目前我的流程是我直接requests.post登入頁面的網站(LOGIN_URL)
成功登入後 在requests.get網頁A(DATA_URL)
Python語法大致如下
import requests
from lxml import html
LOGIN_URL = 'http://xxx.xxx.xxx.xxx'
DATA_URL = 'http://xxx.xxx.xxx.xxx'
session_requests = requests.session()
login_params = {'VIEWSTATE': VIEWSTATE,
'VIEWSTATEGENERATOR': VIEWSTATEGENERATOR,
'EVENTVALIDATION': EVENTVALIDATION,
'tbUserId': 'xxx',
'tbPassword': 'xxx',
'LoginType': 'xxx',
'btnLogin': 'xxx'}
r = session_requests.post(LOGIN_URL, data = login_params)
URL_COOKIES = session_requests.cookies.get_dict()
print(URL_COOKIES)
上述這段可以正常登入網站
但登入後 我執行這段 要連到我想要抓表格資料的網站
r = session_requests.get(DATA_URL, headers = headers, cookies = URL_COOKIES)
就出現以下這個問題...
raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp)
requests.exceptions.TooManyRedirects: Exceeded 30 redirects.
Google了許久 試過max_redirects加大、allow_redirects改成False
加入headers跟cookies可是都不行...
不知道是哪邊出了問題
headers是根據我要抓資料的網站(DATA_URL)裡面的Request Headers的樣子來寫
cookies是在登入LOGIN_URL後,用session_requests.cookies.get_dict()來抓的
不知道上述做法是否正確?
再請各位高人指點
謝謝