我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案列表.
浏览器测试/清除:
JAVASCRIPT
Node.js的
我正在尝试开发一个简单的网络刮刀.我想在没有HTML代码的情况下提取文本.事实上,我实现了这个目标,但我已经看到在加载JavaScript的某些页面中我没有获得好的结果.
例如,如果某些JavaScript代码添加了一些文本,我看不到它,因为当我打电话时
response = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)
我没有添加原始文本(因为JavaScript在客户端中执行).
所以,我正在寻找一些解决这个问题的想法.
我想使用Mechanize来模拟使用活动JavaScript浏览网页,包括DOM Events和AJAX,到目前为止我还没有办法做到这一点.
我查看了一些支持Spynner和Zope等JavaScript的Python客户端浏览器,但它们都不适用于我.Spynner一直崩溃PyQt,Zope似乎不支持JavaScript.
有没有办法模拟仅使用Python进行浏览(没有额外的进程),如WATIR或操作Firefox或Internet Explorer的库,同时完全支持Javascript,就像实际浏览页面一样?
我想从网站上获取一些数据.通常我会用mechanize这些东西,但现在网站用JS提供数据.唉,mechanize不支持它.
我可以用什么呢?
我正试图在下面的网站上搜索现场网球比分.当比赛结束时,我正在抓取变化,我可以获得分数,但在比赛期间,当我搜索保留分数的相关"跨度"课程时,我返回课程但分数为空白(见下文) )
http://www.scoreboard.com/game/6LeqhPJd/#game-summary
score = score.findAll('span',attrs={'class':'scoreboard'})
Run Code Online (Sandbox Code Playgroud)
输出:
[<span class="scoreboard">-</span>, <span class="scoreboard">-</span>]
Run Code Online (Sandbox Code Playgroud)
预期产出
[<span class="scoreboard">1</span>, <span class="scoreboard">0</span>]
Run Code Online (Sandbox Code Playgroud)
使用萤火虫我可以看到这些领域内的得分,但我似乎无法归还它.谁会知道为什么会发生这种情况..?
注意:当上述URL中的匹配完成后,分数的元素会发生变化.这只是LIVE比赛的一个问题......
python ×4
mechanize ×2
web-scraping ×2
browser ×1
casperjs ×1
javascript ×1
phantomjs ×1
python-2.x ×1
scrapy ×1
selenium ×1
urlopen ×1