我需要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>
如何阅读自定义部分?
答案 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>