几秒后Python request.get()

时间:2017-05-17 02:53:43

标签: python

我想在打开网址后几秒钟获得HTML文字。

以下是代码:

import requests
url = "http://XXXXX…"
html = request.get(url).text

5 个答案:

答案 0 :(得分:1)

您想将最后一行更改为:

       var1    var2    var3
row1   2       1       3

答案 1 :(得分:1)

印度网站Flipkart也会出现相同的问题,因为即使进入页面后可见,但网站上的图像实际上并没有链接。

他们改为://img1a.flixcart.com/www/linchpin/fkcpzion/img/placeholder_9951d0.svg

基本上是文件占位符。

我正在制作一个网络抓取工具,用于比较Amazon,Flipkart和Snapdeal中相同搜索的产品结果。

我尝试执行此页面中提到的技巧,建议您使用time.sleep(random.uniform(1.5,2.5))来延迟接收HTML文本。

但是,它不起作用。

我建议使用一个名为selenium的模块,因为它可以通过自动刺激浏览器来自动实现,如“尼克·韦斯曼”所提到的。

答案 2 :(得分:0)

  

我希望在打开网址后几秒钟获得HTML文字。

嗯,在你"得到"之后,网页HTML保持不变。使用请求的网址,因此不需要等待几秒钟,因为HTML不会更改。

我假设您要等待的原因是页面加载了修改HTML的所有相关资源(例如CSS / JS)? 如果是这样,我建议您不要使用“请求”模块,因为您必须自己操纵和加载所有相关资源。

我建议您查看 Selenium for Python 。 Selenium完全模拟浏览器,因此您可以等待,它将为您的网页加载所有资源。

答案 3 :(得分:0)

尝试使用time.sleep(t)

response = request.get(url)
time.sleep(5)  # suspend execution for 5 secs
html = response.text

答案 4 :(得分:0)

基本上,您可以像下面这样作为参数来休眠请求:

import requests
import time
url = "http://XXXXX…"
seconds = 5
html = requests.get(url,time.sleep(seconds)).text #for example 5 seconds