from urllib.request import urlopen
from bs4 import BeautifulSoup
url = 'https://www.qantas.com/au/en.html'
data = urlopen(url)
parser = BeautifulSoup(data, 'html.parser')
forms = parser.find_all('form')
for form in forms:
print(form)
print('\n\n')
上面的代码只显示了三个表单,而在Chrome的Developers tools>Elements
页面中显示了13个
看起来web页面使用JavaScript加载web内容。尝试在禁用javascript的情况下在浏览器中查看页面。
检查你的表格是否在那里。如果不是,则检查控制台中是否有任何获取表单的XHR请求。如果没有,你应该考虑用phantomjs无头浏览器去selenium或者放弃本站的刮刮乐!!
无头浏览器将允许您获取动态创建的网页的内容,并将该内容提供给BeautifulSoup。
问题内容: 使用Java,如何从给定的网页中提取所有链接? 问题答案: 将Java文件下载为纯文本/ html格式,并通过Jsoup或 html clean传递,两者相似,甚至可以用于解析格式错误的html 4.0语法,然后可以使用流行的HTML DOM解析方法,例如getElementsByName(“ a”)或在jsoup中它甚至很酷,您只需使用 并找到所有链接,然后使用 取自http://j
问题内容: 我正在尝试使用BeautifulSoup提取此数据表的第一和第三列。通过查看HTML,第一列具有一个标记。感兴趣的另一列具有作为标记。无论如何,我所能获得的就是带有标签的列的列表。但是,我只想要文本。 已经是列表,所以我不能使用。我不确定如何以另一种形式获得第一列的清单。 问题答案: 您可以尝试以下代码: 如您所见,代码只是连接到url并获取html,BeautifulSoup找到第一
我一直想把桌子从这里刮下来,但在我看来BeautifulSoup找不到桌子。 我写道: 基于其他类似的问题,我假设HTML在某种程度上被破坏了,但我不是专家…我找不到答案:(Beautiful soup缺少一些html表标签)、(从网站提取表)、(使用Beautiful soup刮表),甚至(Python+Beautiful soup:从网页刮表) 多谢了!
问题内容: 我正在尝试获取词典列表中所有键的列表,以便填写csv.DictWriter的fieldnames参数。 以前,我有这样的事情: 我当时习惯于使用列表中的第一本字典并提取其键。 现在我有了类似的东西,其中一个字典比另一个字典具有更多的key:value对(可能是任何结果)。新密钥是根据来自API的信息动态添加的,因此它们可能会或可能不会出现在每个字典中,而且我事先也不知道会有多少个新密钥
我有这个代码在一个网页我试图刮与硒: 我试图实现这样的方法(我在SO上找到的)来获得至少一个id: 这样: 它不起作用。我假设我应该使用,但不能使用getAttribute。如何提取所有id的列表?谢谢
问题内容: 我正在使用Python从网站上抓取内容。首先,我用和Python的,但我看到,该网站有一个按钮,通过JavaScript创建的内容,所以我决定使用。 假设我可以使用Selenium等方法找到元素并获取其内容,那么当我可以对所有内容都使用Selenium时,有什么理由要使用? 在这种特殊情况下,我需要使用Selenium来单击JavaScript按钮,以便更好地使用Selenium进行解