Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Ghost.py在python中截屏动态网页_Javascript_Python_Screen_Screen Scraping_Ghost.py - Fatal编程技术网

Javascript 使用Ghost.py在python中截屏动态网页

Javascript 使用Ghost.py在python中截屏动态网页,javascript,python,screen,screen-scraping,ghost.py,Javascript,Python,Screen,Screen Scraping,Ghost.py,我正试图使用上面的代码查找上面页面上所有具有类“soundTitle\uuuuuTitle”的html元素,但是现在我的输出是 ghost = Ghost() page, rcs = ghost.open(https://soundcloud.com/passionpit/sets/favorites) page, rcs = ghost.wait_for_page_loaded() songs = ghost.evaluate("document.getElementsByClassName(

我正试图使用上面的代码查找上面页面上所有具有类“soundTitle\uuuuuTitle”的html元素,但是现在我的输出是

ghost = Ghost()
page, rcs = ghost.open(https://soundcloud.com/passionpit/sets/favorites)
page, rcs = ghost.wait_for_page_loaded()
songs = ghost.evaluate("document.getElementsByClassName('soundTitle__title');")
print songs
谁能帮我看看我的问题在哪里?当我在浏览器控制台中运行document.getElementsByClassName'soundTitle\uu title'时,我得到了预期的输出,为什么Python输出不同


或者,在JavaScript运行了使用浏览器开发工具检查元素时看到的源代码之后,我是否有办法使用Ghost.py或其他类似的库来获取页面的源代码?

我得到了这个结果,并建议使用,它基本上只是在引擎盖下运行phantomjs和selenium

您需要运行pip install splinter并在您的机器上安装phantomjs,如果您有npm,可以通过下载/卸载或npm-g安装phantomjs,等等。但是总体来说,安装和依赖性是最小的,而且简单明了

下面的代码返回'rynweaver-OctaHate',我假设这就是您要寻找的,尽管没有更多的上下文,我不能完全确定

QFont::setPixelSize: Pixel size <= 0 (0)
({PyQt4.QtCore.QString(u'length'): 0.0}, [])

您还将注意到,我必须执行xpath contains来获取您要查找的类描述;因此,当您试图通过使用的符号访问该类时,可能会遇到问题-有一个span元素和一个锚元素都包含“soundTitle\uuu title”,但据我所知,只有“a”元素有文本,我猜这就是您要查找的。但是如果你想两者兼得,你可以使用browser.find_by_xpath//*[contains@class,'soundTitle\uuuu title']

我得到了这个工作,并建议使用,它基本上只是在引擎盖下运行phantomjs和selenium

您需要运行pip install splinter并在您的机器上安装phantomjs,如果您有npm,可以通过下载/卸载或npm-g安装phantomjs,等等。但是总体来说,安装和依赖性是最小的,而且简单明了

下面的代码返回'rynweaver-OctaHate',我假设这就是您要寻找的,尽管没有更多的上下文,我不能完全确定

QFont::setPixelSize: Pixel size <= 0 (0)
({PyQt4.QtCore.QString(u'length'): 0.0}, [])

您还将注意到,我必须执行xpath contains来获取您要查找的类描述;因此,当您试图通过使用的符号访问该类时,可能会遇到问题-有一个span元素和一个锚元素都包含“soundTitle\uuu title”,但据我所知,只有“a”元素有文本,我猜这就是您要查找的。但是如果你想两者兼得,你可以使用browser.find_by_xpath//*[contains@class,'soundTitle\uuu title']

很抱歉,我只需要用lxml.html来实现这一点。从lxml导入html.parsehttps://soundcloud.com/passionpit/sets/favorites.getroot.cssselect.soundTitle__titleI 尝试运行代码时遇到了一些问题。我的输出为IOError:读取文件时出错'https://soundcloud.com/passionpit/sets/favorites“:加载外部实体失败https://soundcloud.com/passionpit/sets/favoritesTUrns out html.parse无法加载https。对于开发人员来说有一些东西。我甚至很抱歉,但我必须用lxml.html来完成这项工作。从lxml导入html.parsehttps://soundcloud.com/passionpit/sets/favorites.getroot.cssselect.soundTitle__titleI 尝试运行代码时遇到了一些问题。我的输出为IOError:读取文件时出错'https://soundcloud.com/passionpit/sets/favorites“:加载外部实体失败https://soundcloud.com/passionpit/sets/favoritesTUrns out html.parse无法加载https。有一些东西是为开发人员准备的。甚至还有一些