使用BeautifulSoup刮跨度 - javascript

我试图使用BeautifulSoup刮擦“ span”标签。
这是我的代码。

import urllib
from bs4 import BeautifulSoup
url="someurl"
res=urllib.urlopen(url)
html=res.read()
soup=BeautifulSoup(html,"html.parser")
soup.findAll("span")

但是,当我这样做时,对于某些特定的网页。它没有列出所有范围。
它只显示有限的编号。跨度。
但是当我这样做

soup.prettify()

它包含所有跨度。
可能是什么原因?我错过了什么吗?
我发现的一些答案还包括使用无头浏览器,例如“ htmlunit”。但我不确定它们到底是什么?我可以将它们集成到我的django项目中吗?

soup.prettify给
https://drive.google.com/file/d/0BxhTzDujWhPVTzdIS2VWd1pZcHM/view?usp=sharing

soup.findAll(“ span”)的预期输出

list of all the spans

输出即时消息

[<span class="ssc-ftpl ssc_ga_tag" data-gaa="Opened" data-gac="Footer" data-gal="Responsible Gambling" tabindex="0"> Responsible Gambling</span>, <span class="ssc-ftpl ssc_ga_tag" data-gaa="Opened" data-gac="Footer" data-gal="About Betfair" tabindex="0"> About Betfair</span>, <span class="ssc-ftpl ssc-ftls " tabindex="0">English - UK</span>, <span class="ssc-ftpl" tabindex="0">\xa9 \xae</span>]

参考方案

终于找到了解决方法。问题是默认的“ html.parser”无法处理。
使用“ html5lib”代替进行解析。并获得预期的结果。

soup=BeautifulSoup(html,"html5lib")
soup.findAll("span")

html5lib解析器完全按照浏览器的方式解析页面。

JavaScript中的字符串评估函数 - javascript

            JavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…

Javascript语言中是否存在python式占位符? - javascript

我有Python的经验,但是对Java语言来说还比较陌生。我知道在Python中,如果我想将一个变量替换为一个字符串(例如),我可以这样做:s = "%s:%s" % (mins, secs)但是,我找不到在Javascript中替换值的等效方法。是否存在类似的问题,还是我会以错误的方式处理? 参考方案 在ES5中不可用,但在ES6中可用…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

基于Java的Web登录以进行页面抓取 - javascript

我正在尝试为sbrodds.com编写一个抓取引擎。不幸的是,我需要登录才能获取正确的数据。我研究了机械化和硒化处理,但可悲的是,我在python和web抓取方面很差,并且不了解如何使用它们。这是登录框的“ Chrome检查元素”页面的屏幕截图:有人可以提出建议,建议我使用哪种技术在Python代码中执行登录到此站点的操作?目标是最终将登录页面的数据加载到B…

Python-spidermonkey:如何获取行号。错误 - javascript

如何检索发生错误的行号?在下一个脚本中,该行输出(作为最后一次加注的结果),但是没有行号。在JS错误对象中。from spidermonkey import Runtime, JSError runtime = Runtime() context = runtime.new_context() try: context.execute( "func…