字符串搜索返回none或[]

时间:2014-10-24 11:47:59

标签: html string list search beautifulsoup

我有几个网址,我想打开一个特定的地方并搜索一个特定的名称但我只返回无或[]。

我搜索过但看不到与我的代码相关的答案。

from bs4 import BeautifulSoup
from urllib import request

webpage = request.urlopen("http://www.dsfire.gov.uk/News/Newsdesk/IncidentsPast7days.cfm?siteCategoryId=3&T1ID=26&T2ID=35")
soup = BeautifulSoup(webpage)
incidents = soup.find(id="CollapsiblePanel1")
Links = []
for line in incidents.find_all('a'):
    Links.append("http://www.dsfire.gov.uk/News/Newsdesk/"+line.get('href'))
n = 0
e = len(Links)
while n < e:
    webpage = request.urlopen(Links[n])
    soup = BeautifulSoup(webpage)
    station =  soup.find(id="IncidentDetailContainer")
    #search string
    print(soup.body.findAll(text='Ashburton'))
    n=n+1

我知道它在页面上的最后一个链接中。

提前感谢任何想法或评论

1 个答案:

答案 0 :(得分:0)

如果您的输出是&#34; []&#34;只是,这意味着你的输出是一个数组。您必须设置索引然后=&gt;变量[指数]。

试试这个

print(soup.body.findAll(text='Ashburton')[0])

...首先将其存储到变量中会更容易:

search = soup.body.findAll(text='Ashburton')
print(search[0])

这将为您带来第一个找到的项目。

打印所有找到的物品,你可以去

search = soup.body.findAll(text='Ashburton')
foreach(entry in search)
    print(entry)

请注意,这是更多的pseude-code而不是一个有效的例子。 我真的不知道美丽的事情。