我正在使用带有请求的Python,并且我正在尝试将数据发送到缩短链接的网站的表单。一旦我使用requests.post。
,我想将链接存储到变量中的缩短链接我已经阅读了有关状态代码的信息,但我不太清楚如何使用它们。这是输入形式的样子。
<form method="post" action="paste.php">
<div class="row">
<div class="12u">
<input type="text" name="name" id="name" placeholder="Name of paste" />
</div>
</div>
<div class="row">
<div class="12u">
<textarea name="paste" id="paste" placeholder="Paste contents"></textarea>
</div>
</div>
<div class="row">
<div class="12u">
<a type="submit" class="button form-button-submit">Upload</a>
<a href="#" class="button button-alt form-button-reset">Undo</a>
</div>
</div>
</form>
这是我到目前为止所拥有的。
def create_paste(url):
title = 'title' # Define your title.
paste = 'paste' # Define your paste content.
try:
durk = requests.post(url, data={'name': title, 'paste': paste})
if durk.status_code == 302:
print('Pasted!')
else:
print('Not pasted!')
except:
raise
我该怎么做呢?感谢。
编辑:重新阅读请求文档解决了问题。如果我允许重定向并使用r.url,我可以显示粘贴链接。
def derp():
title = 'adsfjkl' # Define your title.
paste = 'asdfasdhfasdflkjashdfkjasht' # Define your paste content.
r = requests.post('http://website.com/paste.php', data={'name': title, 'paste': paste}, allow_redirects=True)
if r.status_code == 200:
print('Pasted! %s' % (r.url))
else:
print('Not pasted!')
print r.url
答案 0 :(得分:3)
最简单的方法是确实使用Requests.post,然后将此帖子结果传递给beautifulsoup并解析结果。
例如:
import request
from bs4 import BeautifulSoup as BS
response = request.get('http://stackoverflow.com/')
bs = BS(response.text)
//do some parsing using beautifulsoup to get the link