我正在尝试使用python中的请求函数将文本文件的文本内容发布到网站,在所述网站上提交文本进行分析,然后将结果拉回到python中。我已经阅读了这里和其他网站上的一些回复,但尚未弄清楚如何正确地将代码修改为新网站。
我熟悉美丽的汤,所以拉入网页内容并删除HTML不是问题,它提交的数据是我不理解的。
我的代码目前是:
import requests
fileName = "texttoAnalyze.txt"
fileHandle = open(fileName, 'rU');
url_text = fileHandle.read()
url = "http://www.webpagefx.com/tools/read-able/"
payload = {'value':url_text}
r = requests.post(url, payload)
print r.text
此代码以网站的html返回,但未承认我正在尝试提交表单。
感谢任何帮助。非常感谢。
答案 0 :(得分:0)
您需要发送网站发送的相同请求,通常您可以使用Web调试工具(如chrome / firefox开发人员工具)获取这些请求。
在这种情况下,请求发送到的网址是:http://www.webpagefx.com/tools/read-able/check.php
使用以下参数:tab=Test+by+Direct+Link&directInput=SOME_RANDOM_TEXT
所以你的代码应该是这样的:
url = "http://www.webpagefx.com/tools/read-able/check.php"
payload = {'directInput':url_text, 'tab': 'Test by Direct Link'}
r = requests.post(url, data=payload)
print r.text
祝你好运!
答案 1 :(得分:0)
有两个帖子参数,标签和 directInput :
import requests
post = "http://www.webpagefx.com/tools/read-able/check.php"
with open("in.txt") as f:
data = {"tab":"Test by Direct Link",
"directInput":f.read()}
r = requests.post(post, data=data)
print(r.content)