Python 3.4 我正在尝试向匿名代理 zend2.com 发送发布请求。但我只是得到他们的主页作为回应

标签 python python-3.x python-requests

import requests


zend2 = 'https://zend2.com/'

visitSite = 'https://www.wikipedia.org/'

headers = {}
headers['User-Agent'] = 'Mozilla/5.0'

#zend2 data parameters
data_zend2 = {}
data_zend2['u'] = visitSite


#creating a session 
mySession = requests.Session()

req_01 = mySession.get(zend2, headers = headers)

post_01 = mySession.post(zend2, data = data_zend2,headers = headers)

代码执行时没有错误,当我尝试访问维基百科时,它只是将我发送到错误的页面。我也尝试过使用 json.dumps() 来获取数据,但它不起作用。 如果还有其他我可以使用的库,我愿意接受建议。

最佳答案

您的帖子网址和数据不正确:

headers = {'User-Agent': 'Mozilla/5.0'}

# zend2 data parameters
data = {"u": "https://www.wikipedia.org/", "encodeURL": "on", "allowCookies": "on", "stripJS": "on",
              "stripObjects": "on"}


with requests.Session() as s:
    res = s.post("https://zend2.com/includes/process.php?action=update1", headers=headers, data=data)
    print(res.text)

如果您在 Chrome 或 Firebug 中查看请求,在“其他”选项卡下您可以看到发生了什么:

enter image description here

如果我们使用 bs4 解析页面的一部分,您可以看到我们确实获取了返回的 wiki 页面内容:

n [15]: import requests

In [16]: from bs4 import BeautifulSoup

In [17]: headers = {'User-Agent': 'Mozilla/5.0'}

In [18]: data = {"u": "https://www.wikipedia.org/", "encodeURL": "on", "allowCookies": "on", "stripJS": "on",
   ....:               "stripObjects": "on"}

In [19]: with requests.Session() as s:
   ....:         res = s.post("https://zend2.com/includes/process.php?action=update1", headers=headers, data=data)
   ....:         soup = BeautifulSoup(res.text,"html.parser")
   ....:         prin(soup.select_one("div.central-featured-lang.lang1"))
   ....:     
<div class="central-featured-lang lang1" lang="en">
<a class="link-box" href="/open12.php?u=DQYIaIkz%2BRfJh%2B3hqurO3R7xaOuC&amp;b=29" title="English — Wikipedia — The Free Encyclopedia">
<strong>English</strong><br>
<em>The Free Encyclopedia</em><br>
<small>5 077 000+ articles</small>
</br></br></a>
</div>

关于Python 3.4 我正在尝试向匿名代理 zend2.com 发送发布请求。但我只是得到他们的主页作为回应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37397769/

相关文章:

python - 如何在 Python 中仅打印特定链接

python - 如何在最后 10 分钟前获得 20 分钟

c++ - Boost 和 Python 3.x

python - 如果我不需要用户访问 token ,如何使用请求从 Python 连接到 Facebook Graph API?

python - BeautifulSoup 未解析完整的 HTML - 这是因为动态 HTML 吗?

python-3.x - Matplotlib 控制条之间的间距

python - 对嵌套字典使用深度复制的替代方案?

data-visualization - 将一个巨大的数据集(整数)分成一些小的集合。(我有一个非常丑陋的方法,寻求更好的方法)

python - 如何将 Chrome 版本的网页提供给 python?

Python:使用列表对数据框进行子集化