2017-06-22 85 views
1

当我执行手动此网址在我的网页浏览器,我看到我的网络控制台,其他三个请求将被执行。有用。python请求︰url与另一个子请求

电话: www.my.url/publish_something

  • 得到这个在cmd
  • 获取在cmd
  • 帖子说...

我怎么能做到这一点的Python请求? 我只调用一次“主”-URL,包括所有的子请求,比如我的浏览器。

> publish_url = "www.my.url/publish_something" r = 
> self.session.get(publish_url, verify=False, params=p) 

看来,当我用python requests-module调用这个url时,他没有执行子请求。

+0

我真的不知道如何处理请求,但如果你更关心结果,而不是知道如何使用'requests'来做到这一点,我会建议看一下'selenium',它将处理请求通过网络浏览器并执行其他请求 – LoicM

+0

我相信你正在打开一个普通的HTML页面。您的浏览器通常只会发送基于HTML的额外请求。但是Python不需要。它只会得到回应。您可以根据页面中的链接发送请求。 – selten98

+2

您必须解析HTML,提取所有这些链接并手动检索它们。您还应该启用重定向。 – ForceBru

回答

0

当您在浏览器中打开一个URL,浏览器 - 发出GET请求,该网址 - 解析内容 - 问题得到每个图像标签,并为每个脚本请求,风格等标签mentionning外部源, - 执行脚本,这可能会导致更多的子请求和DOM修改,并最终呈现最终的DOM。

当你在上述第一阶段发送一个带有Python(带有python-rquests,urllib模块或其他)的GET请求时,所以如果你想要更多的话,你必须自己做(解析内容,检索图像等)。

或者您可以使用headless browser,比如PhantomJS