0

私はコーディングにpythonを使用しています。私は、名前、チームの画像、および NBA ドラフト候補の大学を Web スクレイピングしようと試みてきましたが、大学の名前を探すと、大学のページと大学名の両方が得られます。大学だけが表示されるようにするにはどうすればよいですか? アンカー (anchor.string) の末尾に .string と .text を追加しようとしました。

import urllib2
from BeautifulSoup import BeautifulSoup
# or if your're using BeautifulSoup4:
# from bs4 import BeautifulSoup

list = []
soup = BeautifulSoup(urllib2.urlopen(
                            'http://www.cbssports.com/nba/draft/mock-draft'
                             ).read()
                     )

rows = soup.findAll("table",
                    attrs = {'class':'data borderTop'})[0].tbody.findAll("tr")[2:]

for row in rows:
  fields = row.findAll("td")
  if len(fields) >= 3:
    anchor = row.findAll("td")[2].findAll("a")[1:]
    if anchor:
      print anchor
4

2 に答える 2

1

代わりに:

print anchor

使用する:

print anchor[0].text
于 2012-06-26T14:37:34.547 に答える
-1

htmlのアンカーの形式は<a href='web_address'>Text-that-is-displayed</a>そうなので、派手なhtmlパーサーライブラリがすでにない限り(きっとあると思いますが、何も知らないでしょう)、何らかの正規表現を使用して解析する必要があります。必要なアンカーの一部。

于 2012-06-26T14:32:25.520 に答える