Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 第4组查找ahref_Python_Beautifulsoup - Fatal编程技术网

Python 第4组查找ahref

Python 第4组查找ahref,python,beautifulsoup,Python,Beautifulsoup,但这并没有给我回报href 预期结果: for link in soup.findAll('td',{'valign':'top'}): ahref = link.findAll('a',{'class':'list'}) print(ahref) 如何使用class=“list”找到href?比BS4做得更好(更快)呢 href="/default.asp?pagetemp=standard&pageload=emne&emneid=10298

但这并没有给我回报
href

预期结果:

for link in soup.findAll('td',{'valign':'top'}):
    ahref = link.findAll('a',{'class':'list'})
    print(ahref)
如何使用
class=“list”
找到href?

比BS4做得更好(更快)呢

href="/default.asp?pagetemp=standard&pageload=emne&emneid=102981&listview=1&forhandlerid=21"
如果您仍然坚持使用BS4:

/default.asp?pagetemp=standard&pageload=emne&emneid=102981&listview=1&forhandlerid=21

问题源于您对
findAll
对象的误解
href
是BeautifulSoup对象的属性,可以像字典一样访问:

Found the URL: /default.asp?pagetemp=standard&pageload=emne&emneid=102981&listview=1&forhandlerid=21

你需要给我们更多的细节;我无法重现您的HTML示例片段的任何问题(前提是我先在其周围环绕
元素)。或者您正在询问如何仅从标记
href
属性中提取值?如果是这样,至少要更新你的问题,以包括预期的结果。例如,我通过
soup.select('td[valign=top]a[href]')[0]['href']
“更好”实际上取决于输入。据我所知,lxml只理解格式良好的html,而Beautiful Soup更宽容。@AndréLaszlo你是对的,
BS
更宽容,但在大多数情况下
lxml
不会给你带来任何麻烦,而且
lxml
提供了一个
soupparser
,如果您想像解析
BS
那样解析html。
/default.asp?pagetemp=standard&pageload=emne&emneid=102981&listview=1&forhandlerid=21
from bs4 import BeautifulSoup

html = '<td valign="top"><a href="/default.asp?pagetemp=standard&amp;pageload=emne&amp;emneid=102981&amp;listview=1&amp;forhandlerid=21" class="list">Mercedes</a></td>'

soup = BeautifulSoup(html)
for a in soup.find_all('a', href=True):
    print "Found the URL:", a['href']
Found the URL: /default.asp?pagetemp=standard&pageload=emne&emneid=102981&listview=1&forhandlerid=21
import bs4

raw = '''<td valign="top"><a href="/default.asp?pagetemp=standard&amp;pageload=emne&amp;emneid=102981&amp;listview=1&amp;forhandlerid=21" class="list">Mercedes</a></td>'''

soup = bs4.BeautifulSoup(raw)

for td in soup.findAll('td',{'valign':'top'}):
    for link in td.findAll('a', {"class":"list"}):
        print (link["href"])
/default.asp?pagetemp=standard&pageload=emne&emneid=102981&listview=1&forhandlerid=21