我正试图找到一种方法来自动登录到Facebook而无需浏览器使用Python.我尝试了"请求"lib.试过几种方法:
URL = 'http://m.facebook.com'
requests.get(URL, auth = ('email@domain.com', 'mypassword'))
Run Code Online (Sandbox Code Playgroud)
...
form_data = {'email': 'email@domain.com',
'pass' : 'mypassword'
}
requests.post(URL, data = form_data)
Run Code Online (Sandbox Code Playgroud)
...
requests.post(URL + '?email=email@domain.com&pass=mypassword')
Run Code Online (Sandbox Code Playgroud)
最后一种方法填写页面上的"电子邮件"框,但"通过"框仍为空...
有人可以帮我这个吗?是否可以使用请求模拟FB登录?
谢谢!
我希望打开与python的连接到http://www.horseandcountry.tv,它通过POST方法获取我的登录参数.我想打开一个与这个网站的连接,以便抓取所有视频链接的网站(这,我也不知道该怎么做,但我正在使用该项目学习).
我的问题是如何将我的凭据传递到网站的各个页面?例如,如果我想要做的就是使用python代码打开一个指向http://play.horseandcountry.tv/live/的浏览器窗口,并在我已经登录的情况下打开它,我该如何解决这个问题?
我需要通过 GET 调用访问数据,但资源受单点登录保护。我有 URI 端点和单点登录凭据。我开始使用 XMLHttpRequest() 发出 ajax 请求,但得到了这个:
被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
由于我无权访问服务器,因此无法将“Access-Control-Allow-Origin”设置为 true,因此我决定转而使用带有 Flask 后端的 Python 请求库进行调用。我尝试将用户凭据与 GET 请求一起传递,如下所示:
headers = {'accept': 'application/json;odata=verbose'}
r = requests.get(url, auth=HTTPBasicAuth(userid, password), headers=headers)
print r.status_code #prints 403
print r.content #prints 403 forbidden
Run Code Online (Sandbox Code Playgroud)
有没有办法访问这样的资源?请注意,SSO 是使用 SAML 2.0 配置的
更新: 跟踪 giaco 建议的链接后,我现在可以以编程方式登录到 SSO。至少,我认为是这样..(s.post(..) 返回的 HTML 实际上仍然有 403 禁止代码——但是当我在浏览器中点击 url 时,它重定向到登录页面)但是,当我发送 GET请求,我再次收到 403 FORBIDDEN 消息。以下是更新后的代码:
payload = {
'UserName': username,
'Password': password
}
print "configured payload" #successfully printed on console
with requests.Session() as s:
p …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用请求登录我学校的网站,但它没有通过登录页面,也没有返回密码保护页面中的内容.它只是返回登录页面的HTML.斜线不起作用,因为此页面需要javascript..HTML登录的东西是
<!--box content-->
<div id="noscript" class="feedback-alert"> To sign in to PowerSchool, you must use a browser that supports and has JavaScript enabled. </div>
<fieldset id="login-inputs" class="hide">
<div>
<label>Username</label>
<input type="text" id="fieldAccount" name="account" value="" size="39" />
</div>
<div>
<label>Password</label>
<input type="password" name="pw" value="" size="39" /><div id="login-help"><a href="/public/account_recovery_begin.html">Having trouble signing in?</a></div>
</div>
<div id="translatorInput">
<label>Translator Sign In</label>
<input type="password" name="translatorpw" value="" size="39" />
</div>
<div class="button-row">
<button type="submit" id="btn-enter" title="Sign In To PowerSchool Parent Access" value="Enter" border="0" >Sign In</button>
</div>
</fieldset>
<!-- …
Run Code Online (Sandbox Code Playgroud) 我尝试登录网站并下载特定文件的尝试已经下降.
具体来说,我正在登录这个网站http://www.gaez.iiasa.ac.at/w/ctrl?_flow=Vwr&_view=Welcome&fieldmain=main_lr_lco_cult&idPS=0&idAS=0&idFS=0
为了在下载文件之前我可以选择特定的变量和参数,并保存为excel或csv.
特别是,我想切换突出显示的输入 ,在"可视化和下载"按钮下载文件之前,选择作物类型,供水,输入水平,时间段和地理区域之前.
例如,我想获得的数据小麦(作物),雨浇(供水),高(输入电平),1961〜1990年(时间段,基线),美利坚合众国(地域).然后我想将它保存为excel文件.
到目前为止这是我的代码:
# Import library
import requests
# Define url, username, and password
url = 'http://www.gaez.iiasa.ac.at/w/ctrl?_flow=Vwr&_view=Welcome&fieldmain=main_lr_lco_cult&idPS=0&idAS=0&idFS=0'
user, password = 'Username', 'Password'
resp = requests.get(url, auth=(user, password))
Run Code Online (Sandbox Code Playgroud)
也许我已经在整个过程的战壕中根深蒂固地看到了一个简单,可行的解决方案,但是非常感谢任何帮助.
如果使用http://www.barchart.com/historicaldata.php之类的网站,是否可以填写文本框,然后单击“提交”按钮下载数据?
我习惯于urllib
下载整个页面,但似乎可以弄清楚如何将文本提交到文本框中,然后单击脚本中的按钮。
我是在stackoverflow上发帖的新手,所以请不要咬!我不得不求助于记帐并寻求帮助,以避免再把我的头撞在桌子上......
我正在尝试使用 python 中的请求模块登录到以下网站https://account.socialbakers.com/login。似乎请求模块是要去的地方,但 session.post() 函数对我不起作用。我不知道这种类型的表格是否有什么独特之处,或者网站是 https://
登录表单如下:
<form action="/login" id="login-form" method="post" novalidate="">
<big class="error-message">
<big>
<strong>
</strong>
</big>
</big>
<div class="item-full">
<label for="">
<span class="label-header">
<span>
Your e-mail address
</span>
</span>
<input id="email" name="email" type="email"/>
</label>
</div>
<div class="item-list">
<div class="item-big">
<label for="">
<span class="label-header">
<span>
Password
</span>
</span>
<input id="password" name="password" type="password"/>
</label>
</div>
<div class="item-small">
<button class="btn btn-green" type="submit">
Login
</button>
</div>
</div>
<p>
<a href="/email/reset-password">
<strong>
Lost password?
</strong>
</a>
</p>
</form>
Run Code Online (Sandbox Code Playgroud)
基于以下帖子如何使用 …
我正在使用python 3.2.3编写应用程序,我不知道如何登录网站.我需要登录...并保存cookie(我认为),但我尝试的一切都不起作用.
我曾尝试过请求,但没有运气.我的网页在localhost上运行(它只是简单的登录表单).
FORM:
<form method="post" action="">
<input type="text" name="uname" placeholder="Uporabnisko ime:"/>
<input type="password" name="password" placeholder="Geslo:"/>
<input type="submit" value="Send"/>
</form>
Run Code Online (Sandbox Code Playgroud)
蟒蛇:
import requests
payload = {'uname': 'name', 'password': 'pswd123'}
r = requests.post('http://localhost/python', data=payload)
Run Code Online (Sandbox Code Playgroud)
这什么都不做.如何发布姓名和用户名..感谢您的回复.
python ×8
login ×3
ajax ×1
connection ×1
facebook ×1
html ×1
https ×1
post ×1
python-3.x ×1
urllib ×1
web-scraping ×1