我試圖登錄和刮一個工作網站,併發送任何關鍵詞時,我發現了通知。我想我已經正確地跟蹤了fepath的「xpath登錄[iovation ]」但我不能提取的價值,這是我迄今所做的登陸如何使用python請求登錄到網站
import requests
from lxml import html
header = {"User-Agent":"Mozilla/4.0 (compatible; MSIE 5.5;Windows NT)"}
login_url = 'https://www.upwork.com/ab/account-security/login'
session_requests = requests.session()
#get csrf
result = session_requests.get(login_url)
tree=html.fromstring(result.text)
auth_token = list(set(tree.xpath('//*[@name="login[_token]"]/@value')))
auth_iovat = list(set(tree.xpath('//*[@name="login[iovation]"]/@value')))
# create payload
payload = {
"login[username]": "[email protected]",
"login[password]": "pa$$w0rD",
"login[_token]": auth_token,
"login[iovation]": auth_iovation,
"login[redir]": "/home"
}
#perform login
scrapeurl='https://www.upwork.com/ab/find-work/'
result=session_requests.post(login_url, data = payload, headers = dict(referer = login_url))
#test the result
print result.text
運行瀏覽器,而'的JavaScript '並檢查你是否看到這個值 - 也許這個值是由'JavaScript'添加的,並且請求不運行'JavaScript' – furas
感謝furas,當我禁用javascript時,loginp [iovation]的值字段消失了 –
你可以不用javascript登錄?在這個頁面上,我看到名字爲[account-security-ui-combined.js]的文件(https://www.upwork.com/ab/account-security/static-assets/js/account-security-ui-combined .js文件?3482da8?3482da8)。也許它可以幫助找到這些代碼。或者你將不得不使用'Selenium'來控制運行JavaScript的瀏覽器。 – furas