从HTML中读取HEAD内容

时间:2010-12-19 18:08:37

标签: python html html-parsing

我需要python中的小脚本。需要在Web文件中读取自定义块。

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

req = urllib2.Request('http://target.com')
response = urllib2.urlopen(req)
the_page = response.read()
print the_page # Here is all page source with html tags, but
               # i need read only section from <head> to </head>

# example the http://target.com source is:
# <html>
# <body>
# <head>
# ... need to read this section ...
# </head>
# ... page source ...
# </body>
# </html>

如何阅读自定义部分?

3 个答案:

答案 0 :(得分:1)

要解析HTML,我们使用解析器,例如BeautifulSoup

当然你可以使用正则表达式解析它,但这是你永远不应该做的事情。仅仅因为它适用于某些情况并不意味着它是标准的做法,或者是正确的做法。如果您有兴趣了解原因,请在SO上阅读这个优秀的答案here

从BeautifulSoup教程开始,了解如何解析所需信息。这很容易做到。我们不打算为你做,那是为了你阅读和学习!

只是为了提醒你,你有the_page包含HTML数据。

>> from BeautifulSoup import BeautifulSoup
>> soup = BeautifulSoup(the_page)

现在按照教程查看如何获取head标记内的所有内容。

答案 1 :(得分:0)

一种解决方案是使用令人敬畏的python库Beautiful Soup。它允许你很容易地解析html / xml,并试图在文档被破坏或无效时提供帮助。

答案 2 :(得分:0)

from BeautifulSoup import BeautifulSoup
import urllib2

page = urllib2.urlopen('http://www.example.com')
soup = BeautifulSoup(page.read())
print soup.find('head')

输出

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example Web Page</title>
</head>