Python 在BeatifulSoup.findAll(';a';中搜索字符串的最佳方法
伙计们,请帮我解决下一个问题。 我需要找到一些键(字符串)的链接,我使用了下一个代码:Python 在BeatifulSoup.findAll(';a';中搜索字符串的最佳方法,python,beautifulsoup,Python,Beautifulsoup,伙计们,请帮我解决下一个问题。 我需要找到一些键(字符串)的链接,我使用了下一个代码: 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'
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
它返回了正确的链接
我只想了解验证链接是否包含我的字符串的最正确方法。
也许我应该用汤做smth。findAll('a')?链接不是字符串。使用link['href']而不是link inside进行循环或强制转换为带有str的字符串(link)链接不是字符串。使用link['href']而不是link inside进行循环或强制转换为带str的字符串(link)findAll()和正则表达式:
for link in soup.findAll('a', href=re.compile('5')):
print link['href']
带正则表达式的findAll():
for link in soup.findAll('a', href=re.compile('5')):
print link['href']
谢谢你,那是以前的事了,但我似乎很愚蠢,把它忘了。但是什么类型的对象有链接,没有['href']?打印链接。谢谢,这是以前的,但我似乎很愚蠢,忘记了它。但是什么类型的对象有链接,没有['href']?打印链接__