【发布时间】:2015-02-25 02:07:31
【问题描述】:
我正在使用 requests 和 BeatifulSoup 从网页中检索和提取信息。
但是,当我调用 requests.get(url) 然后打印出文本结果时,它与我在网页上“检查元素”时看到的不同。缺少多个 HTML 代码部分,一些标签在 span 中有“正在加载”等。
我怀疑这意味着 requests.get() 函数在页面完全加载之前从页面中提取数据。
有没有办法防止这种情况发生?
谢谢。
【问题讨论】:
-
您只是拉取该页面的 HTML。可能性是 HTML 加载了操纵 DOM 的 javascript。将您的检查与“查看源代码”或 curl 输出进行比较。
-
@Jack 是的,我刚刚意识到输出与页面源相同。有没有办法获取javascript生成的数据?
-
当然。使用类似PhantomJS
-
` requests.get() ` 不会加载由 JS 操作的数据...您将不得不使用 Selinium 在浏览器加载时加载页面
标签: python url beautifulsoup