抓取动态网页(我想用Python来抓取网页上的“你在找这些作者”框的内容,)
优采云 发布时间: 2022-04-04 16:21抓取动态网页(我想用Python来抓取网页上的“你在找这些作者”框的内容,)
概述 我想使用 Python 来抓取网页上“您正在寻找这些作者:”框的内容,如下所示:不幸的是,该框的内容是由 JavaScript 动态加载的。通常在这种情况下,我可以阅读 Javascript 来弄清楚发生了什么,或者我可以使用像 Firebug 这样的浏览器扩展来确定动态内容的来源。这次没有这样的运气
我想用这样的网页抓取“您正在寻找这些作者:”框的内容:
不幸的是,盒子的内容是由 JavaScript 动态加载的。通常在这种情况下,我可以阅读 Javascript 来弄清楚发生了什么,或者我可以使用像 Firebug 这样的浏览器扩展来确定动态内容的来源。这再一次没有这样的运气...... Javascript非常复杂,Firebug没有提供很多关于如何获取内容的线索。
有什么技巧可以使这项任务更容易吗?
解决方案
您可以使用 ghost.py 直接与页面上的 JavaScript 交互,而不是尝试对其进行逆向工程。
如果您在 Chrome 控制台中运行以下查询,您将看到它返回了您想要的所有内容。
document.getElementsByClassName('inline-text-org');
返回
[University of Manchester,University of California ...
etc...
您可以使用在真实 DOM 中通过 python 运行 JavaScript。
这真的很酷:
from ghost import Ghost
ghost = Ghost()
page,resources = ghost.open('http://academic.research.microsoft.com/Search?query=lander')
result,resources = ghost.evaluate(
"document.getElementsByClassName('inline-text-org');")
总结
以上就是编程之家为您整理整理的使用python进行网页爬取动态内容的全部内容。希望文章可以帮助大家解决使用python爬取网页动态内容时遇到的程序开发问题。
如果你觉得编程之家网站的内容还不错,欢迎你把编程之家网站推荐给你的程序员朋友。