我想在打开网址后几秒钟获得HTML文字。
以下是代码:
import requests
url = "http://XXXXX…"
html = request.get(url).text
答案 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