我有几个网址,我想打开一个特定的地方并搜索一个特定的名称但我只返回无或[]。
我搜索过但看不到与我的代码相关的答案。
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
我知道它在页面上的最后一个链接中。
提前感谢任何想法或评论
答案 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而不是一个有效的例子。 我真的不知道美丽的事情。