0

属性を持つすべてのリンクについてWebサイトを解析しようとしていますnofollow。そのリストを1つずつリンクして印刷したいと思います。ただし、の結果をfindall()リストに追加できませんでしたbox(私の試みは括弧内にあります)。

私は何を間違えましたか?

import sys
import urllib2
from BeautifulSoup import BeautifulSoup


page = urllib2.urlopen(sys.argv[1]).read()
soup = BeautifulSoup(page)
soup.prettify()

box = []

for anchor in soup.findAll('a', href=True, attrs = {'rel' : 'nofollow'}):
#    box.extend(anchor['href'])
     print anchor['href']

# print box
4

1 に答える 1

1

ループしてsoup.findAllいるので、それぞれanchorがリストではありません。.append()個々の要素に使用します。

box.append(anchor['href'])

リスト内包表記を使用して、すべてのhref属性を取得することもできます。

box = [a['href'] for a in soup.findAll('a', href=True, attrs = {'rel' : 'nofollow'})]
于 2013-01-11T11:22:11.583 に答える