伙计们请帮我解决下一个问题。 我需要找到一些键(字符串)的链接,我使用下一个代码:
import urllib2, re
from BeautifulSoup import BeautifulSoup
url = 'http://5pd.ru'
page = urllib2.urlopen(url)
soup = BeautifulSoup(page)
print soup.findAll('a')
for link in soup.findAll('a'):
if '5' in link:
print link
它不会返回任何内容
但是在这个例子中:
site_list = ['http://extra1.ru/', 'http://5pd.ru/', 'http://google.ru/', 'http://fun.ru/']
for i in site_list:
if '5' in i:
print i
它返回了正确的链接
我只是想了解验证链接是否包含我的字符串的最正确方法。 也许我应该用soup.findAll('a')制作smth?
答案 0 :(得分:2)
链接不是字符串。使用链接['href']而不是链接里面的循环或强制转换为字符串与str(链接)
答案 1 :(得分:2)
使用正则表达式的findAll():
for link in soup.findAll('a', href=re.compile('5')):
print link['href']