我正在做一个从网页上获取信息的项目。 在html源代码中,我有以下内容:
Resultado de Busca:Foram encontrados264casais公司
我需要得到“encontrados”和“casais”之间的号码
在Python中有这样做的吗?我应该使用什么字符串函数?我希望在这种情况下避免使用正则表达式。
import urllib.request
f = urllib.request.urlopen("http://listadecasamento.fastshop.com.br/ListaCasamento/ListaCasamentoBusca.aspx?Data=2013-06-07")
s = f.read()
print(s.split())
到目前为止我已经知道了,但现在我找不到我需要的号码。
import urllib.request
f = urllib.request.urlopen("http://listadecasamento.fastshop.com.br/ListaCasamento/ListaCasamentoBusca.aspx?Data=2013-06-07")
s = f.read()
num = int(s[s.index("encontrados")+len("encontrados"):s.index("casais")])
这给了我下面的错误
类型错误:类型str不支持缓冲区API
你肯定那个字符串的格式吗?如果您有这样一个字符串(并且将始终如此),您可以使用:
你的号码将在5个项目中被编入索引。
如果不能用正则表达式解析html,那么如果将文件视为一包文本,则必须使用正则表达式或类似的语句:
如果您要解析的是HTML,我建议使用诸如Beautiful Soup之类的库。不需要正则表达式。
编辑
使用刚才添加的URL,这是将HTML对象取出的示例代码:
这将在包含类
txt_resultad_busca_casamento
的页面上找到HTMLspan
元素,我相信这是您试图提取的数据。在那里,您可以解析.text
属性以获得您感兴趣的确切数据。编辑2
哦,刚刚意识到使用正则表达式。。。貌似美女组的班级搭配并不完美!这一行应该可以工作,至少在站点更改其HTML之前:
相关问题 更多 >
编程相关推荐