Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在BeatifulSoup.findAll(';a';中搜索字符串的最佳方法_Python_Beautifulsoup - Fatal编程技术网

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']?打印链接__