使用Beautiful Soup解析html表单标签

时间:2013-07-19 13:10:03

标签: python html-parsing beautifulsoup

我尝试用html表单解析一些网站。 如果只有一个开口和一个结束表格 - 标签,则没有问题。 我首先通过解析http://www.w3schools.com/html/html_forms.asp

来实现这个问题

如果有2个表单标签或更多,我得到一个奇怪的行为,所有结束表单 - 标签正在移动到文档的末尾。有没有人有同样的问题?

以下是一个基本示例网页:

<!DOCTYPE html>
<html lang="en-US">
<head>
<title>HTML Forms and Input</title>
</head>
<body>
<p>stuff and so on</p>
<form>
First name: <input type="text" name="firstname" size="20"><br>
Last name: <input type="text" name="lastname" size="20">
</form>
<p>some text</p>
<form>
First name: <input type="text" name="firstname" size="20"><br>
Last name: <input type="text" name="lastname" size="20">
</form>
</body>
</html>

以下是代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import urllib2
from bs4 import BeautifulSoup
lSoup = BeautifulSoup(open("forms2.html"))
print lSoup

这就是我得到的:

<!DOCTYPE html>
<html lang="en-US"><head>
<title>HTML Forms and Input</title>
</head>
<body>
<p>stuff and so on</p>
<form>
First name: <input name="firstname" size="20" type="text"/><br/>
Last name: <input name="lastname" size="20" type="text"/>
<p>some text</p>
<form>
First name: <input name="firstname" size="20" type="text"/><br/>
Last name: <input name="lastname" size="20" type="text"/>
</form></form></body></html>

任何想法?

感谢您的帮助!

0 个答案:

没有答案