我一直在嘗試使用Python請求和BeautifulSoup來嘗試寫一個網頁刮板。我嘗試在網上使用幾種解決方案登錄到該網站,但無法這樣做。無法登錄到網站使用Python
這樣做的一個原因是表單元素不使用傳統方案。網站代碼片段已在下面發佈。任何幫助,將不勝感激。
This image contains the code of the form element
編輯1:我是相當新的這一點,因此一直停留在一個相當元素的一步。我試圖改變我的登錄憑證的關鍵值,但似乎沒有幫助。
我一直在嘗試使用Python請求和BeautifulSoup來嘗試寫一個網頁刮板。我嘗試在網上使用幾種解決方案登錄到該網站,但無法這樣做。無法登錄到網站使用Python
這樣做的一個原因是表單元素不使用傳統方案。網站代碼片段已在下面發佈。任何幫助,將不勝感激。
This image contains the code of the form element
編輯1:我是相當新的這一點,因此一直停留在一個相當元素的一步。我試圖改變我的登錄憑證的關鍵值,但似乎沒有幫助。
你可以有一些原因,這是可以工作。你的代碼也將被讚賞。我想到的第一個原因是它無法工作,這是因爲您需要模擬真實的瀏覽器,例如Google Chrome或Firefox。
事實上,你需要有一個用戶代理。默認情況下,python用戶代理請求不像true user agent。
之後您需要捕獲weeb網站的cookie並將其用於登錄。
你有很多解決方案可以做到這一點,我可以解釋兩個當我有使用: - Selenium生成瀏覽器的行爲。 - 使用請求,但使用瀏覽器等所有選項:生成用戶代理並使用cookie(服務器需要認爲您是真正的用戶)。
您能否指點我相關的鏈接學習如何操作? –
您在預覽文章中有2個鏈接(點擊:「真正的用戶代理」,例如用戶代理,或者點擊「Selenium」作爲該文庫的文檔)。如果您想完整解釋[請求](http://docs.python-requests.org/en/master/user/advanced/)(點擊請求鏈接),並且使用比我更好的英語:D – Buky
戴爾,你必須發表你的方法來解決這個問題。
我通過這種方法制成履帶,
response = urlopen(page_url)
if 'text/html' in response.getheader('Content-Type'):
print("hello 123")
html_bytes = response.read()
html_string = html_bytes.decode("utf-8")
,並通過這個html_string給BeautifulSoup。
soup = BeautifulSoup(html_string, 'html.parser')
html_string = soup.prettify()
我認爲這使得它更簡單。
也許顯示你已經嘗試過?也許沒有代碼的截圖? –
登錄並獲取生成的COOKIE,並將其用於對該網站的另一個電話 – ZiTAL
該表單中存在隱藏的字段,例如, 'authenticity_token'您可能還需要發送 – mata