Python:查找字符串返回none

时间:2014-07-28 20:05:30

标签: python beautifulsoup urllib2

我正在开发一个解析HTML页面的项目。它适用于公司内部的网站,但我更改了示例,以便您可以尝试。

我获取HTML页面的源代码,然后搜索某个标记。然后我想提取这个标记的子字符串,但它不起作用。 Python返回一个无...在我的代码下面,在注释中返回Python:

#!/usr/bin/python
import urllib2
from bs4 import BeautifulSoup

response = urllib2.urlopen("http://www.resto.be/restaurant/liege/4000-liege/8219-le-bar-a-gouts/")
page_source = response.read()

soup = BeautifulSoup(page_source)
name = soup.find_all("meta", attrs={"itemprop":"name"})
print(name[0])
# <meta content="LE BAR A GOUTS" itemprop="name"/>

print(name[0].find("<meta"))
# none

1 个答案:

答案 0 :(得分:4)

您没有字符串,您有标记对象。打印标签有一个很好的HTML表示,但它不是一个字符串对象。

因此,您正在使用BeautifulSoup Tag.find()函数,如果没有标记名为None的子标记,则返回<meta。确实没有这里。

如果要查找content属性,请使用项目访问权限:

print name[0]['content']