2017-04-16 123 views
1

这是链接到一个网页 填写表格...蟒蛇请求(填表)

https://anotepad.com/notes/2yrwpi

,我必须输入在文本区域中的内容(说)(“世界你好” ),然后按保存,但所有这些都是用python request模块(get,post等) 并且不使用硒和beautifulsoup模块完成的。

我想是这样的:

url="https://anotepad.com/notes/2yrwpi" 
txt = "Hello World" 

#construct the POST request 
form_data = {'btnSaveNote':'Save', 'notecontent' : txt} 

post = requests.post(url,data=form_data) 

但是,这似乎并没有被工作

请帮帮忙!

+1

错误是什么? – Cfreak

+0

笔记中未发生变化。 –

回答

1

您需要登录后到保存的网址,你还需要传递表单数据的音符编号:

import requests 

save = "https://anotepad.com/note/save" 
txt = "Hello World" 
login = "https://anotepad.com/create_account" 

data = {"action": "login", 
     "email": "[email protected]", 
     "password": "xxxxxx", 
     "submit": ""} 

# construct the POST request 
with requests.session() as s: # Use a Session object. 
    s.post(login, data) # Login. 

    form_data = {"number": "2yrwpi", 
       "notetype": "PlainText", 
       "noteaccess": "2", 
       "notequickedit": "false", 
       "notetitle": "whatever", 
       "notecontent": txt} 

    r = s.post(save, data=form_data) # Save note. 

r.json()会给你{"message":"Saved"}成功。另外,如果您想要查看您拥有的注释,请在登录后运行s.post("https://anotepad.com/note/list").text

+0

非常感谢Sir.It的工作。 但是我还需要一个更多的帮助,那就是你在哪里学习了如何做到这一点。我的意思是说,你能否给我一本关于一本书的参考书,其中完整的网页报废从头开始详细解释。 在此先感谢 –

+0

save =“https://anotepad.com/note/save”??你怎么知道这是一个储蓄的网址? –