Python 3.X仅在页面加载时提取源代码

时间:2013-10-06 21:42:51

标签: python httprequest urllib

我在网页上提交了一个查询。查询在完成之前需要几秒钟。只有在完成后才会显示我想从中获取信息的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

1 个答案:

答案 0 :(得分:4)

您想要的价格不在您正在检索的页面中,因此不会出现任何等待时间。相反,价格在加载后由该页面中的 检索。 urllib模块不是浏览器,因此它不会为您运行该脚本。您需要弄清楚AJAX请求的URL是什么(快速查看源代码提供了相当大的提示)并检索它。它可能采用JSON格式,因此您只需使用Python的json模块进行解析即可。