簡體   English   中英

使用Python和Beautifulsoup登錄到LinkedIn

[英]Login to LinkedIn using Python and Beautifulsoup

我花了整整一天時間來解決這個問題。 我曾經在SO上經歷過類似的問題,但仍然沒有運氣。 抱歉,如果我在搜索中錯過了一個顯而易見的解決方案。 這是我嘗試Python的第一天,所以我是一個完整的新手。 我正在嘗試為LinkedIn創建刮板,但我無法超越記錄階段。

我嘗試了許多不同的代碼變體,但這是我最了解的一種:

from bs4 import BeautifulSoup
import urllib.request
import requests

client = requests.Session()
LOGIN_URL = 'https://www.linkedin.com/uas/login'

# get source code of the page
with urllib.request.urlopen('https://www.linkedin.com/uas/login') as 
url:
s = url.read()
print(s)

soup = BeautifulSoup(s, "html.parser")
print(s)

csrf = soup.find(id="loginCsrfParam-login")['value']

login_information = {
'session_key':'email@gmail.com',
'session_password':'password',
'loginCsrfParam': csrf,
}

client.post(LOGIN_URL, data=login_information)

我收到以下錯誤,不知道如何解決:

追溯(最近一次通話):文件“ G:... \\ LinkedIn \\ testlogin3.py”,第16行,在csrf = soup.find(id =“ loginCsrfParam-login”)['value'] TypeError:'NoneType '對象不可下標

有誰能夠提供任何見解或幫助我更正代碼? 提前致謝。

我相信此錯誤告訴您它找不到ID為"loginCsrfParam-login"任何內容,因此湯在查找時將返回None元素。 隨后,您嘗試從此None提取['value'] ,而Python不知道該請求的內容。 我相信您正在嘗試執行以下操作:

csrf = soup.select("input[loginCsrfParam-login]")

盡管我不確定它是否能達到預期的效果,但是在運行代碼時這不會產生任何錯誤。 不過,就我個人而言,我更喜歡使用Selenium模塊與網頁進行交互,因為您可以直觀地看到它的響應方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM