Python2.7 - 使用 Python 向 https://www.aconvert.com/pdf/ 发出 GET 和 POST 请求
Python2.7 - Making a GET and POST request to https://www.aconvert.com/pdf/ with Python
晚上好,
我一直在研究以了解 GET 和 POST 请求如何使用请求模块工作。过去我已经提出了 .get 和 .post 请求,但是,它对我来说仍然是一个全新的概念(以及网络抓取)。我一直在尝试使用以下 link: https://www.aconvert.com/pdf/ to upload a PDF document and convert it to an HTML document utilizing Python 2.7, but no luck. I can't seem to get the correct parameters. The website also has an API for making requests (described at https://www.aconvert.com/api.html) 但我不太明白它是如何工作的。我已经尝试了几件事。我最后一次尝试看起来像下面的代码:
import requests
pdf_file = r"PATH_TO_PDF.pdf"
session_requests = requests.session()
data = {'file': pdf_file, 'targetformat':'HTML'}
#r = session_requests.get('https://www.aconvert.com/pdf/')
out = session_requests.post('https://www.aconvert.com/pdf/', data)
print out.text
输出仅显示站点的 HTML 源代码内容。
通过输入 PDF 文件和目标格式手动进行转换会导致显示区域提供 HTML 输出。单击时,它会提供结果(例如:https://s2.aconvert.com/convert/p3r68-cdx67/cbzdr-c6wcd.html)。如果通过站点的 API 部分执行相同的操作,它会快速显示 HTML link 和 SUCCESS(以字典形式返回)。
如果能提供任何示例来演示 pdf 文件的上传和结果的提取 HTML 以及简短的说明,以便我更好地理解这一切是如何工作的,我们将不胜感激。
如果需要进一步说明,请告诉我。
谢谢!
编辑:我仍在努力获得结果。有进步但没有好处。如果有人可以提供帮助,我现在有以下代码:
import requests
pdf_file = r'PATH_TO_PDF'
session_requests = requests.session()
files = {'file': open(pdf_file, 'rb')}
payload = {'targetformat': 'HTML', 'ocrlan': '0', 'filelocation':'local'}
return_out = session_requests.post('https://s2.aconvert.com/convert/convert-batch-win.php', files = files, data=payload)
print return_out.text
我至少从网站上得到了不同的错误响应。这打印:
{"result":"3-pdf-HTML--local-2","state":"ERROR"}.
不确定我现在做错了什么。我检查了源代码并使用工具监控实时 HTTP 流量。如果需要,我相信我有 header、负载信息页面。
找出解决方案以防有人遇到类似问题。我不知道 .post 中可以传递的所有不同参数以及它们是如何工作的。比如 files=, data=, params=, headers=, detting redirects to true 等。经过一番尝试,我想通了。我的代码现在 post 到网站(pdf)并将 pdf 转换为任何选定的文件类型,例如 html、doc、docx、csv 等。这一切的美妙之处在于该网站还能够显示 pdf 中隐藏的超链接。
import requests
session_request = requests.session()
pdf_file = r'PATH_TO_PDF_FILE'
files = {'file': open(pdf_file, 'rb')}
data = {'targetformat': 'html'}
return_post = session_request.post('https://s2.aconvert.com/convert/api-win.php', files = files, data = data)
return_get = session_request.get(str(return_post.text).split('"')[3])
print return_get.text
晚上好,
我一直在研究以了解 GET 和 POST 请求如何使用请求模块工作。过去我已经提出了 .get 和 .post 请求,但是,它对我来说仍然是一个全新的概念(以及网络抓取)。我一直在尝试使用以下 link: https://www.aconvert.com/pdf/ to upload a PDF document and convert it to an HTML document utilizing Python 2.7, but no luck. I can't seem to get the correct parameters. The website also has an API for making requests (described at https://www.aconvert.com/api.html) 但我不太明白它是如何工作的。我已经尝试了几件事。我最后一次尝试看起来像下面的代码:
import requests
pdf_file = r"PATH_TO_PDF.pdf"
session_requests = requests.session()
data = {'file': pdf_file, 'targetformat':'HTML'}
#r = session_requests.get('https://www.aconvert.com/pdf/')
out = session_requests.post('https://www.aconvert.com/pdf/', data)
print out.text
输出仅显示站点的 HTML 源代码内容。 通过输入 PDF 文件和目标格式手动进行转换会导致显示区域提供 HTML 输出。单击时,它会提供结果(例如:https://s2.aconvert.com/convert/p3r68-cdx67/cbzdr-c6wcd.html)。如果通过站点的 API 部分执行相同的操作,它会快速显示 HTML link 和 SUCCESS(以字典形式返回)。
如果能提供任何示例来演示 pdf 文件的上传和结果的提取 HTML 以及简短的说明,以便我更好地理解这一切是如何工作的,我们将不胜感激。
如果需要进一步说明,请告诉我。
谢谢!
编辑:我仍在努力获得结果。有进步但没有好处。如果有人可以提供帮助,我现在有以下代码:
import requests
pdf_file = r'PATH_TO_PDF'
session_requests = requests.session()
files = {'file': open(pdf_file, 'rb')}
payload = {'targetformat': 'HTML', 'ocrlan': '0', 'filelocation':'local'}
return_out = session_requests.post('https://s2.aconvert.com/convert/convert-batch-win.php', files = files, data=payload)
print return_out.text
我至少从网站上得到了不同的错误响应。这打印: {"result":"3-pdf-HTML--local-2","state":"ERROR"}.
不确定我现在做错了什么。我检查了源代码并使用工具监控实时 HTTP 流量。如果需要,我相信我有 header、负载信息页面。
找出解决方案以防有人遇到类似问题。我不知道 .post 中可以传递的所有不同参数以及它们是如何工作的。比如 files=, data=, params=, headers=, detting redirects to true 等。经过一番尝试,我想通了。我的代码现在 post 到网站(pdf)并将 pdf 转换为任何选定的文件类型,例如 html、doc、docx、csv 等。这一切的美妙之处在于该网站还能够显示 pdf 中隐藏的超链接。
import requests
session_request = requests.session()
pdf_file = r'PATH_TO_PDF_FILE'
files = {'file': open(pdf_file, 'rb')}
data = {'targetformat': 'html'}
return_post = session_request.post('https://s2.aconvert.com/convert/api-win.php', files = files, data = data)
return_get = session_request.get(str(return_post.text).split('"')[3])
print return_get.text