我在网页上提交了一个查询。查询在完成之前需要几秒钟。只有在完成后才会显示我想从中获取信息的HTML表格。假设此查询最多需要4秒才能加载。虽然我希望在加载数据后立即获取数据,但等待4秒然后从表中获取数据是可以接受的。
我遇到的问题是当我发出urlread请求时,页面尚未完成加载。我尝试加载页面,然后发出一个睡眠命令,然后再次加载它,但这也不起作用。
我的代码是
import urllib.request
import time
uf = urllib.request.urlopen(urlname)
time.sleep(3)
uf.decode('UTF-8')
text = uf.read()
print (text)
我正在看的网页是http://bookscouter.com/prices.php?isbn=9781111835811(随意忽略有趣的教科书哈哈)
我在Raspberry Pi上使用Python 3.X
答案 0 :(得分:4)
您想要的价格不在您正在检索的页面中,因此不会出现任何等待时间。相反,价格在加载后由该页面中的 检索。 urllib
模块不是浏览器,因此它不会为您运行该脚本。您需要弄清楚AJAX请求的URL是什么(快速查看源代码提供了相当大的提示)并检索它。它可能采用JSON格式,因此您只需使用Python的json
模块进行解析即可。